Java--普通代码块静态代码块执行顺序

Posted PersistWp

tags:

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

 1 class B {
 2 
 3     public B() {
 4         super();
 5         System.out.println("构造器B");
 6     }
 7     {
 8         System.out.println("普通的代码块B");
 9     }
10     static{
11         System.out.println("静态代码块B");
12     }
13     
14 }
15 public class ClassA extends B {
16 
17     public ClassA() {
18         super();
19         System.out.println("构造器A");
20     }
21     {
22         System.out.println("普通的代码块A");
23     }
24     static{
25         System.out.println("静态代码块A");
26     }
27     public static void main(String[] args) {
28         ClassA a=new ClassA();
29     }
30 }

运行结果如下:

静态代码块B
静态代码块A
普通的代码块B
构造器B
普通的代码块A
构造器A

可以看到静态代码块被优先执行,然后是父类的普通代码块,父类构造器,然后才是子类的普通代码块,子类构造器






以上是关于Java--普通代码块静态代码块执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

Java--普通代码块静态代码块执行顺序

微信约战炸金花棋牌平台出租Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例

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

Java中静态代码块构造代码块构造函数普通代码块(转载)

java中代码执行顺序

java代码执行顺序