(原)代码块

 1 class Demo{
 2     {
 3     System.out.println("1、构造块");
 4     }
 5     public Demo(){
 6         System.out.println("2、构造方法");
 7     }
 8 }
 9 
10 public class CodeDemo{
11     public static void main(String[] args)
12     {
13         new Demo();
14         new Demo();
15         new Demo();
16     }
17 }

说明构造块优于构造方法执行,而且每次实例化对象时都会执行构造块中的代码,会执行多次。

 

 

2、静态代码块

 1 class Demo{
 2     {
 3     System.out.println("1、构造块");
 4     }
 5     static{
 6         System.out.println("0、静态构造块");
 7     }
 8     public Demo(){
 9         System.out.println("2、构造方法");
10     }
11 }
12 
13 public class CodeDemo{
14     static{
15         System.out.println("在主方法所在类中定义的代码块");
16     }
17     public static void main(String[] args)
18     {
19         new Demo();
20             System.out.println("我我我我我我");
21         new Demo();
22         new Demo();
23     }
24 }

 

说明静态代码块优先于主方法执行,而在类中定义的静态代码块优于构造块执行,而且不管有多少个对象产生,静态代码块只执行一次。

 

posted @ 2016-07-26 16:11  笑哼  阅读(151)  评论(0编辑  收藏  举报