当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。
class base{
int x = 10;
void test(){
System.out.println("Base method,x = "+x);
}
}
public class JiCheng extends base{
int x = 30;
void test(){
System.out.println("sub method,x = "+x);
}
public static void main(String[] args){
JiCheng b = new JiCheng();
b.test();
System.out.println(b.x);
base b1=new base();
b1.test();
System.out.println(b1.x);
base b2;
b2= new JiCheng();
b2.test();
System.out.println(b2.x);
}
}
输出:
sub method,x = 30
30
Base method,x = 10
10
sub method,x = 30
10