class Test0
{
public static String staticField = "父类-静态变量";
public String field = "父类-普通变量";
public Test0()
{
System.out.println("父类-构造器");
}
static {
System.out.println(staticField);
System.out.println("父类-静态初始化块");
}
{ System.out.println(field);
System.out.println("父类-初始化块");
}
}
public class Test1 extends Test0
{
public static String staticField = "子类*静态变量";
public String field = "子类*普通变量";
static {
System.out.println(staticField);
System.out.println("子类*静态初始化块");
}
{ System.out.println(field);
System.out.println("子类*初始化块");
}
public Test1()
{ System.out.println("子类*子类构造器");
}
public static void main(String args[])
{
System.out.println("main方法");
Test1 test1 = new Test1();
}
}
运行结果:
父类-静态变量
父类-静态初始化块
子类*静态变量
子类*静态初始化块
main方法
父类-普通变量
父类-初始化块
父类-构造器
子类*普通变量
子类*初始化块
子类*子类构造器