一般情况:
- 静态代码块 >> 一切
创建类时:
- 父类 >> 子类
- 构造代码块 >> 构造方法
代码:
class A{
public A()
{
System.out.println("1.父类A的构造方法");
}
{
System.out.println("2.父类A的构造代码块");
}
static{
System.out.println("3.父类A的静态代码块");
}
}
public class B extends A{
public B()
{
System.out.println("4.子类B的构造方法");
}
{
System.out.println("5.子类B的构造代码块");
}
static{
System.out.println("6.子类B的静态代码块");
}
//测试
public static void main(String[] args)
{
System.out.println("7.start......");
new B();
System.out.println("8.end.....");
}
}
>>> 3.父类A的静态代码块
>>> 6.子类B的静态代码块
>>> 7.start......
>>> 2.父类A的构造代码块
>>> 1.父类A的构造方法
>>> 5.子类B的构造代码块
>>> 4.子类B的构造方法
>>> 8.end.....