当一个接口初始化时,并不要求其接口都完成初始化
只有在真正使用到父接口的时候,才会初始化与类的初始化不太一样,注意区分
初始化从上到下
package com.huawei.jvm.classloader;
import com.sun.org.apache.bcel.internal.generic.NEW;
public class Singleton1 {
public static void main(String[] args) {
Singleton singleton1 = Singleton.getInstance();
System.out.println("count1 = "+ Singleton.count1);
System.out.println("count2 = "+ Singleton.count2);
}
}
class Singleton {
public static int count1;
private static Singleton singleton1 = new Singleton();
private Singleton(){
count1++;
count2++;
}
public static int count2 = 1;
public static Singleton getInstance(){
return singleton1;
}
}
便于理解类的准备阶段和初始化阶段