为了账号安全,请及时绑定邮箱和手机立即绑定

为什么只是调用了hello.show(); 但是上面的构造方法快 初始化快 静态初始化 块 全都运行了

最后输出的这些

通过静态初始化块初始化age
通过初始化块初始化sex
通过构造方法初始化name

是不是不管调用不调用 这些都会运行?

这些块 到底什么意思啊都 


正在回答

4 回答

和语句放的顺序无关,是有优先级的问题,就像加减乘除有先后顺序一样。

0 回复 有任何疑惑可以回复我~

前面的视频中已经讲过 ,程序是从main方法开始执行的,在HelloWorld hello = new HelloWorld();其实就是在构造方法,程序会自动进入类的的初始化,然后程序就按优先级执行,先执行静态初始化块,接着普通初始化块,最后是构造方法

0 回复 有任何疑惑可以回复我~
#1

lolipop漫

执行完静态,为什么是从下往上执行。为了不让程序出错?
2015-08-01 回复 有任何疑惑可以回复我~

那些在类初始化的时候,自动运行的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么只是调用了hello.show(); 但是上面的构造方法快 初始化快 静态初始化 块 全都运行了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信