zoukankan      html  css  js  c++  java
  • 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出来了,“先执行静态块,再执行三个构造的代码块”这样子

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

    正确的理解是这样的:

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

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

  • 相关阅读:
    登录认证,全选,反选
    jQuery基础知识
    jQuery
    js练习
    BOM DOM
    mysql视图
    用CrwalSpider爬取boss直聘
    设置piplines.py数据管道
    在middlewares.py文件里添加代理ip
    爬取豆瓣电影
  • 原文地址:https://www.cnblogs.com/wudidamowang666/p/11422418.html
Copyright © 2011-2022 走看看