A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chen20134 中级黑马   /  2014-3-16 12:06  /  819 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序是什么?我们也可以通过下面的测试代码来验证这一点:
  1. public class Test04
  2. {
  3.        
  4.         public static String staticField = "静态变量";// 静态变量
  5.        
  6.         public String field = "变量";// 变量
  7.        
  8.         static
  9.         {
  10.         System.out.println(staticField);
  11.         System.out.println("静态初始化块");
  12.         }// 静态初始化块
  13.        
  14.         {
  15.         System.out.println(field);
  16.         System.out.println("初始化块");
  17.         }// 初始化块
  18.        
  19.         public Test04()
  20.         {
  21.         System.out.println("构造器");
  22.         }// 构造器
  23.        
  24.         public static void main(String[] args)
  25.         {
  26.         new Test04();
  27.         }
  28. }
复制代码


运行以上代码,我们会得到如下的输出结果:
1. 静态变量
2. 静态初始化块
3. 变量
4. 初始化块
5. 构造器

可以得出结论:它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

1 个回复

正序浏览
嗯嗯  刚刚复习这里了!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马