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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了继承中静态块和块的运行顺序相关的知识,希望对你有一定的参考价值。

 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

以上是关于继承中静态块和块的运行顺序的主要内容,如果未能解决你的问题,请参考以下文章

java-普通代码块构造代码块和静态代码块的区别。

关于静态代码块的执行顺序,很简单的一道题,应该所有人都会吧?

子类继承父类,那么各代码块的执行顺序为:

Lesson Java中代码块和静态代码块的用法

简述(非)静态代码块和构造方法的执行顺序

简述(非)静态代码块和构造方法的执行顺序