类的初始化的执行顺序
没有父类的情况
- 类的静态属性
- 类的静态代码模块
- 类的非静态属性
- 类的非静态代码块
- 构造方法
有父类的情况
- 父类的静态属性
- 父类的静态代码块
- 子类的静态属性
- 子类的静态代码块
- 父类的非静态属性
- 父类的非静态代码块
- 父类构造方法
- 子类非静态属性
- 子类非静态代码块
10.子类构造方法
class Singleton{
public Singleton{
System.out.println("Singleton new instance");
}
static{
System.out.println("Singleton static block");
}
{
System.out.println("Singleton block!!!");
}
}
public class NewTest {
public static void main(String args[]){
Singleton singleton = new Singleton();
}
}
输出结果:
Singleton static block
Singleton block!!!
Singleton new instance