继承中静态块和块的运行顺序

 1.在子类继承父类的关系中,如果父类有静态块和块,首先运行父类的静态块,在运行块,最后运行子类的方法。

 如:

public class PM623 {

   
    public static void main(String[] args) {
        City1 c=new City1();                   //创建对象
        c.value();                                     //对象调方法
    }
}
class Country1{                                  //最后执行方法     3
String name;

   void value() {
   name = "China";
}
   { System.out.println(12);}                     //在执行块         2
   
   static                                       //静态块先执行      1
   { System.out.println(23);}
}

class City1 extends Country1 {
          String name;
          void value() {
             name = "Dalian";
              super.value();

            System.out.println(name);
            System.out.println(super.name);
}
}            

  运行结果:

23
12
Dalian
China

原文地址:https://www.cnblogs.com/xuekai/p/7152271.html