接口中定义的成员变量默认为public static final ,将成员变量在初始化阶段放入常量池中。
当一个接口在初始化时,并不要求其父接口都完成了初始化。
只有在真正使用到父接口的时候 (如引用接口中所定义的常量时),才会初始化
public class MyTest6{
public static void main(String[] args){
Singleton singleton = Singleton .getInstance();
System.out.println(“counter1:”+Singleton.counter1);
System.out.println(“counter2:”+Singleton.counter2);
}
}
class Singleton{
public static int counter1 = 1;
private static Singleton singleton = new Singleton();
private Singleton(){
counter1++;
counter2++;
System.out.println(counter1);
System.out.println(counter2);
}
public static int counter2 = 0 ;
public static Singleton getInstance(){
return singleton;
}
}