课程
/后端开发
/Java
/Java入门第二季 升级版
我认为运行结果为
还有不明白创建类对象hello2的意思
2015-12-16
源自:Java入门第二季 升级版 8-10
正在回答
最后输出的结果应该是:
通过静态初始化块为静态变量num3赋值通过初始化块为变量num2赋值通过构造方法为变量num1赋值num1:91
num2:74
num3:83通过初始化块为变量num2赋值通过构造方法为变量num1赋值
_Jack_Han_
楼上不对啊
加载一个类时,先执行静态初始化块,再执行普通初始化块,最后执行构造方法
所以 结果就是 num3,num2,num1,楼主说的是正确的
为什么创建hello2?
因为静态初始化块,在类第一次加载时执行,之后就不会执行了,但它是一直存在的,因为第一次执行之后会把它保存在内存中,所以一直存在,你可以测试一下,new hello2 的时候 不会执行“通过静态...”那句话,但输出hello2.num3时 还可以得出值是83。
听见你流泪 提问者
应该是num1、num2、num3的顺序输出啊。你现在能理解什么是类什么是对象吗,建议你在看看前面类和对象那一章节
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
5 回答这段代码要怎么改才能执行
2 回答不清楚代码怎么运行
2 回答这段代码的意思?
10 回答同样的代码,我的不能运行,怎么回事?
1 回答求着两段代码区别,为什么运行结果不同?