static 变量,static代码块,构造函数执行顺序

来源:互联网 发布:淘宝店铺头像大全 编辑:程序博客网 时间:2024/06/07 04:00

在看到线程安全类得书籍时发现以前遗漏下来得一个问题


在发布时:尽量使用 private final 将可变对象 初始化成不可变对象。利用构造方法 达到线程安全得目的。下面分享一个加载认知:


class Test {    public static int num = 0;    //构造函数    public Test() {        num++;        System.out.println("构造函数执行完毕");    }    static {        System.out.println("没有赋值前我的值是:" + num);        num = 10;        System.out.println("静态代码块执行完毕");    }}class Main {    public static void main(String args[]) {        Test a = new Test();        System.out.println(a.num);        Test b = new Test();        System.out.println(b.num);    }}  

static int num 在初始化类之前就已经完成初始化,

其次 执行 静态代码块。

最后执行构造方法


当我对Test 对象实例话得时候 第一次会执行 static代码块内容。。

而构造方法会一直执行。。

以下是打印结果:


E:\develop\java7\jdk1.7.0_17\bin\java "-javaagent:E:\develop\idea2017\IntelliJ IDEA 2017.2.5\lib\idea_rt.jar=61586:E:\develop\idea2017\IntelliJ IDEA 2017.2.5\bin" -Dfile.encoding=UTF-8 -classpath E:\develop\java7\jdk1.7.0_17\jre\lib\charsets.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\deploy.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\access-bridge-64.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\dnsns.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\jaccess.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\localedata.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\rosysenv.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\sunec.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\sunjce_provider.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\sunmscapi.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\ext\zipfs.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\javaws.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\jce.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\jfr.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\jfxrt.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\jsse.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\management-agent.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\plugin.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\resources.jar;E:\develop\java7\jdk1.7.0_17\jre\lib\rt.jar;F:\test\out\production\test Main
没有赋值前我的值是:0
静态代码块执行完毕
构造函数执行完毕
11
构造函数执行完毕
12


Process finished with exit code 0


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 滨特尔和泰科 滨特尔bf-10-b 滨特尔净水器图片 滨特尔水泵样本 滨特尔水泵型号 滨特尔前置过滤器价格 滨特尔爱惠浦净水器 滨特尔净水器价格表 滨特尔净水器多少钱 滨特尔爱惠浦净水机 滨特尔净水器滤芯更换 滨特尔净水器滤芯价格 滨特尔净水器好不好 滨特尔净水器旗舰店 滨特尔净水器换滤芯 滨特尔净水器哪款好 滨特尔水泵机械密封 滨特尔净水器售后服务 滨特尔爱惠普净水器 滨田范子 由比滨结衣为什么叫团子 滨的组词 滨的组词是什么 缤组词 胀组词 绊组词 紫组词 滨绥线 滨面仕上 滩坂舞 滩组词 滩怎么组词 滩字组词 滩羊毛 滩羊皮 宁夏滩羊肉价格 宁夏盐池滩羊肉 海门羊肉 滩羊肉 徐水驴肉 正丁酯