public class Singleton {
private static Singleton single = new Singleton();
private static int counte1;
private static int counte2 = 0;
private Singleton() {
counte1++;
counte2++;
}
public static Singleton getInstance() {
return single;
}
public static void main(String[] args) {
Singleton obj = Singleton.getInstance();
System.out.println("Counte1=" + obj.counte1);
System.out.println("Counte2=" + obj.counte2);
}
}
请问为什么不是Counte1=null,counte2=null.它是private,这里构造器能进行调用吗?我觉得不能,如果把new Singleton()放在private Singleton()中应该才可以.能跟我讲讲初始化的顺序和private关键字指得的外部是那些,是除了类本身外吗,谢谢各位能回答!
------解决方案--------------------
初始化顺序:
父类--静态变量
父类--静态初始化块
子类--静态变量
子类--静态初始化块
父类--变量
父类--初始化块
父类--构造器
子类--变量
子类--初始化块
子类--构造器
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------