静态代码块不执行_Java静态代码块

774125bbcf7fc98df12bf4ce0e3d5b55.png

随着类的加载而执行,只执行一次,用于给类进行初始化。

下图就是执行顺序,先执行StaticCodeDemo中的静态代码块,分别是b,c,(记住,静态代码块是优先于主函数执行的),然后,然后才进主函数之后,先打印haha,然后new StaticCode类的对象,new对象的时候,就加载了StaticCode这个类,然后就执行StaticCode这个类中的静态代码块,记住无论new多少次对象,只执行一次静态代码块,所以这里打印a,然后打印xixi,然后再new 的时候,就不打印a了,因为刚也说了,无论new多少次对象,只执行一次静态代码块,然后执行over.

4f73a218e78f245185d7457597fa1c96.png

然后再升级一下:

1544f57a508060a834428b1c9dd1bb5b.png

分析一下这段代码怎么输出?首先肯定是静态输出,先是输出b,然后输出c,由于没有构造Demo类的对象所以Demo的构造代码块不输出,然后进主函数,创建对象传了666的参数,那么就创建了对象,然后看上面那个类,肯定是先走静态代码块,然后再走构造代码块,然后再走有参的构造方法。综合一下输出就是

80a9df70717cd2d127b1cb90dfecea5a.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值