class Sample {
Sample(String s) {
System.out.println(s);
}
Sample() {
System.out.println("Sample默认构造函数被调用");
}
}
class Test {
static {
System.out.println("父类static 块 执行11111");
}
static Sample staticSam1 = new Sample("父类 静态成员staticSam1初始化222222");
Sample sam1 = new Sample("父类 sam1成员初始化555555");
Test() {
System.out.println("父类 Test默认构造函数被调用77777");
}
Sample sam2 = new Sample("父类 sam2成员初始化666666");
}
class TestSub extends Test {
static Sample staticSamSub = new Sample("子类 静态成员staticSamSub初始化3333");
TestSub() {
System.out.println("子类 TestSub 默认构造函数被调用xxxx");
}
Sample sam1 = new Sample("子类 sam1成员初始化88888");
static Sample staticSamSub1 = new Sample("子类 静态成员staticSamSub1初始化4444");
Sample sam2 = new Sample("子类 sam2成员初始化999999");
}
public class sy1 {
public static void main(String str[]) {
TestSub a = new TestSub();
}
}
总结:父类的static变量->子类的static变量->父类的普通成员->父类的构造函数->子类的普通成员->子类的构造函数