码迷,mamicode.com
首页 > 其他好文 > 详细

静态代码块(主要是注意执行顺序)

时间:2015-08-21 23:03:46      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

静态代码块在类最初被使用的时候执行一次,在构造函数执行之前执行,而且只执行一次。
只要用到类,哪怕没有new只是声明变量也会被执行但是只执行一次。
 
(静态字段和静态代码块都是在类最初使用的时候执行一次)
技术分享
 1  public class MyJingTaiDaimaKuai
 2     {
 3         public static int i = test1();//1.最开始执行
 4         public int age = test2();//new的时候先执行成员变量的初始化,再执行构造函数
 5  
 6         static MyJingTaiDaimaKuai()
 7         {
 8             Console.WriteLine("静态代码块");//2.再执行
 9         }
10         public MyJingTaiDaimaKuai()//4.//6.
11         {
12             Console.WriteLine("构造函数");
13         }
14  
15         public static int test1()
16         {
17             Console.WriteLine("test1");
18             return 3;
19         }
20  
21         public static int test2()//3.//5.
22         {
23             Console.WriteLine("test2");
24  
25             return 333;
26         }
27     }
28  
View Code

执行代码

技术分享
1 MyJingTaiDaimaKuai a1 = new MyJingTaiDaimaKuai();
2 Console.WriteLine(a1.age);
3  
4 MyJingTaiDaimaKuai a2 = new MyJingTaiDaimaKuai();
5 Console.WriteLine(a2.age);
View Code

执行结果

 技术分享
 
执行结果说明,先执行了静态字段和静态代码块,之后从上往下执行test2和构造函数,并且输出age值。
当第二次运行的时候,静态字段和代码块不再执行,直接从上往下执行test2和构造函数。

静态代码块(主要是注意执行顺序)

标签:

原文地址:http://www.cnblogs.com/lucyliang/p/4749162.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!