public class MyTest2{
public static void main(String[] args) {
child c = new child();
}
}
class D{
public D(String temp){
System.out.println(temp);
}
}
class base{
static{
System.out.println("父类的静态自由块被初始化");
}
static D temp = new D("父类的静态成员变量被初始化");
{
System.out.println("父类的自由块被初始化");
}
D temp2 = new D("父类的成员变量被初始化");
public base(){
System.out.println("父类的构造方法被初始化");
}
}
class child extends base{
static D temp = new D("子类的静态成员变量被初始化");
D temp2 = new D("子类的成员变量被初始化");
static{
System.out.println("子类的静态自由块被初始化");
}
{
System.out.println("子类的自由块被初始化");
}
public child(){
System.out.println("子类的构造方法被初始化");
}
}
运行结果:
父类的静态自由块被初始化
父类的静态成员变量被初始化
子类的静态成员变量被初始化
子类的静态自由块被初始化
父类的自由块被初始化
父类的成员变量被初始化
父类的构造方法被初始化
子类的成员变量被初始化
子类的自由块被初始化
子类的构造方法被初始化