public abstract class Class1 {
protected static Object object1 = null;
protected static Object object2 = null;
public static Object[] objects = { object1, object2 };
public static void main(String[] args) {
new Class2();
for (Object o : objects) {
System.out.println(o);
}
}
}
public class Class2 extends Class1 {
public Class2() {
Class1.object1 = new String("String 1");
Class1.object2 = new String("String 2");
}
}
这输出:
null
null
为什么?
当我创建一个新的Class2实例时,该类的构造函数初始化object1和object2.
据我所知,对象包含对这些对象的引用.所以在他们初始化之后,我期待任何东西,但是无效.
有人能解释一下吗谢谢.