是的,这是一个学术问题,我知道人们会抱怨我没有发布任何代码,但我真的很震惊这个问题,真的不知道从哪里开始.我真的很感激解释和一些代码示例.
如果对象构造函数启动一个执行匿名内部类对象的方法运行的新线程,则该新线程可能在完全构造并且其字段完全初始化之前可以访问其周围的外部对象.你会如何防止这种情况发生?
有人可以演示一个简单程序的示例,其中在工作程序中将一个方法的访问权限从私有更改为公共将不会导致编译错误,但只会导致程序行为不同吗?
此外,何时添加新的私有方法会导致编译错误或导致程序行为不同?
继承和多态如何与静态方法一起使用?有人可以解释一下这里应该是什么样的输出以及它是如何导出的?
class A { public static int get() { return 17; } }
class B extends A { public static int get() { return 42; } }
Main
A x = new B();
x.get();
Run Code Online (Sandbox Code Playgroud)
错误消息,
应该以静态方式访问类型A的静态方法get()
我想我知道如何以静态方式访问它,但这是一个来自类的问题,它暗示将返回一个或另一个值
在我们的程序中,我们有类定义:
class A { public static int get() { return 17; } }
class B extends A { public static int get() { return 42; } }
Run Code Online (Sandbox Code Playgroud)
以及我们宣布的其他地方 A x = new B();
电话会x.get()回来几号?