首页 > 其他 > 详细

static代码块与{}代码块的比较

时间:2015-12-30 10:28:50      阅读:127      评论:0      收藏:0      [点我收藏+]

第一个例子:

public class StaticDemo {
    {
        System.out.println("{} 代码块");
    }
    static{
        System.out.println("static 代码块");
    }
    
    public static void main(String[] args) {
        
    }

}
技术分享
static 代码块
View Code

      结论:类的加载会执行static代码块,不会执行{}代码块。

第二个例子:

public class StaticDemo2 {
    
    {
        System.out.println("{} 代码块");
    }
    
    static{
        System.out.println("static 代码块");
    }
    
    public static void main(String[] args) {
        new StaticDemo2();
    }

}
技术分享
static 代码块
{} 代码块
View Code

     结论: new一个类的实例,会先执行static代码块,再执行{}代码块。

第三个例子:

public class StaticDemo3 {
    
  public StaticDemo3(){
        System.out.println("构造函数");
    }
 
    {
        System.out.println("{} 代码块");
    }
    static{
        System.out.println("static 代码块");
    }
    
    public static void main(String[] args) {
        new StaticDemo3();
    }

}
技术分享
static 代码块
{} 代码块
构造函数
View Code

      结论:new一个类的实例,会先执行static代码块,再执行{}代码块,最后执行构造函数。

static代码块与{}代码块的比较

原文:http://www.cnblogs.com/bmbi/p/5087901.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!