62,614
社区成员
发帖
与我相关
我的任务
分享
class B {
private static A a = new A();
private A a = new A();
}
class A {
public A() {
System.out.println("a");
}
}
public class Test {
public static void main(String[] args) {
B b1 = new B(); //第一次装载类B,static执行.所以输出两次a
B b2 = new B(); //不是第一次装载类B,static不执行,所以输出一次a
//总共是输出三次a,这样你应该可以看到过程了吧,一个类第一次被调用的时候,static被加载到内存中的代码区,以后的调用过程中,该类的static不再执行
}
}