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

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

转载于:https://www.cnblogs.com/PersistWp/p/7406004.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值