Demo小细节-2

今天在牛客的题海中再次找虐,题目如下:

 1 public class B {
 2      public static B t1 = new B();
 3         public static B t2 = new B();
 4         {
 5             System.out.println("构造块");
 6         }
 7         static
 8         {
 9             System.out.println("静态块");
10         }
11         public static void main(String[] args)
12         {
13             B t = new B();
14         }
15     
16 }

 按照脑回路一看这题就一股脑儿就直接biu出来了,“先执行静态块,再执行三个构造的代码块”这样子

但是,最后发现这个阿里爸爸的题,还是年轻啊

正确的理解是这样的:

最先初始化的并不是静态块,而是静态域!!!

而静态域中包含的是(静态块、静态变量、静态方法),而最想初始化的是静态变量和静态块,而这俩的初始化顺序则由他们在程序之中的位置决定的。

转载于:https://www.cnblogs.com/wudidamowang666/p/11422418.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值