猿问

final成员变量初始化

final修饰 的成员变量不能在初始化化之前访问,但是为什么加上一个this后就不报错了,输出为 0?程序如图

zongge
浏览 1540回答 3
3回答

Jaydon_

很简单,作用域的问题。

天启之魂

this.age你输出的是对象中的age  因为你的age在定义的时候没有赋值 ,他在常量池中是没有值的 所以在创建对象的时候默认初始化为0, 你输出this.age就输出了0你直接输出age 这个age是常量池中的age 但是因为没有值 所以报错,但是你给age赋值为56后  再就可以输出了但是你赋值的是常量池中的age  ,this.age还是0
随时随地看视频慕课网APP

相关分类

Java
我要回答