创建子类导致父类初始化块的执行

当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。

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

 
原文地址:https://www.cnblogs.com/96ZYJ/p/4888360.html