package myPackage;
public class ClassA extends ClassB{
static {
System.out.println("A");
}
public ClassA(){
System.out.println("B");
}
public static void main(String[] args) {
new ClassA(); //结果是CADB
//new ClassB(); 如果是ClassB继承了ClassA, 那么结果是ACBD
//上述两个测试说明了执行顺序是: 父类static块 -> static块 -> 父类构造函数 -> 子类构造函数
}
}
class ClassB{
static {
System.out.println("C");
}
public ClassB(){
System.out.println("D");
}
public void ClassB(){ //不推荐方法名与类名相同
System.out.println("E");
}
}