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--普通代码块静态代码块执行顺序的主要内容,如果未能解决你的问题,请参考以下文章