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

属性执行的问题

为什么在构造方法里写int age=20;没有报错,最后输出结果为:Animal age 10

正在回答

3 回答

根据你的现象,你构造方法中的int age=20,虽然没有报错,但是这个变量并没有被使用。

而你从主方法中使用对象名.变量名的方式调用的是你Animal类中的成员变量。

也就是说你在构造方法中写int age=20,这种写法并不是覆盖Animal类中的age的值,而是在方法中重新写了一个age变量。

我的回答仅供参考,不一定正确,毕竟我也是初学的小菜鸟。

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

慕桂英9226491

再次补充一下,你在构造方法中写int age=20,其实应该属于方法中的局部变量,而在Animal类中写的int age =10 是成员变量,局部变量只在方法中有效,,你从主方法中调用的只是animal.age,是调用是的类中的成员变量age,
2019-07-12 回复 有任何疑惑可以回复我~

可能是因为你后面参数覆盖了之前的

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

你说的太抽象的,最好能附上代码。可能是因为你后面参数覆盖了之前的


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

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530653    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

属性执行的问题

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