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

我重写了属性的值,为什么调用的时候还是父类的属性值呢

https://img1.sycdn.imooc.com//5d36d4d200013bd206450881.jpg
父类中的代码是 public int 运输人数=0;
三个子类中 轮船改成了200 飞机100 汽车40
但是调用的时候还是父类的0

正在回答

2 回答

https://img1.sycdn.imooc.com//5d37b2e80001109a05690175.jpg

https://img1.sycdn.imooc.com//5d37b2e80001945b05690167.jpg

按照你所说的在本方法内设置初值,但在main方法里面,提示我发现zaike(我自己设的变量)显示的为同一个,并非我所想的是进到函数内;证明如下:毕竟他两连地址都一样

https://img1.sycdn.imooc.com//5d37b684000153cd05050159.jpg

https://img1.sycdn.imooc.com//5d37b69f0001f6bf03320082.jpg

我试了下、

1:在函数内就直接调用zaike变量、并用方法输出,在main函数用相应对象调用方法则可

https://img1.sycdn.imooc.com//5d37b43f0001241705950071.jpg

https://img1.sycdn.imooc.com//5d37b4c6000184a705150077.jpg

https://img1.sycdn.imooc.com//5d37b4ab000113bd03060090.jpg

https://img1.sycdn.imooc.com//5d37b4d90001a03602100048.jpg

2、如果非执着于用对象访问值,建议使用Source选项内Generate Getter and Setter在相应类为该值(我这里是载客)创建设置和获取函数。然后在main函数内调用。

如下:

https://img1.sycdn.imooc.com//5d37b6da0001185406070229.jpg

https://img1.sycdn.imooc.com//5d37b6cb00019dd105930235.jpg

https://img1.sycdn.imooc.com//5d37b72000018e1105070122.jpg

https://img1.sycdn.imooc.com//5d37b73500011a9a00960064.jpg

emnn,在下也是萌新。哪里说得有问题,可以指出来。就酱紫~

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

肥川 提问者

哇,好厉害。都是萌新比我想得多好多qwq 谢谢 不过还是好好奇为什么父类创建的指向子类的属性值是相同的orz 先放着好了 暂且用这两种方法和创建子类对象调用的方法好了
2019-07-25 回复 有任何疑惑可以回复我~
#2

DE先森 回复 肥川 提问者

https://blog.csdn.net/x_iya/article/details/78345223 上面的这一篇的讲的蛮好的,楼主可以看一看。
2019-07-25 回复 有任何疑惑可以回复我~
#3

肥川 提问者 回复 DE先森

好嘞,先收藏了,感谢推荐!
2019-07-25 回复 有任何疑惑可以回复我~

https://img1.sycdn.imooc.com//5d3e5d7e000144dc05690127.jpg

最佳回答中这个地址相同是有问题的

java中基本数据类型用==比较的话 是比较其数值 而不是其地址

只有引用类型用==比较才是比较其地址

个人见解 ,有错误请大家指正?

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

举报

0/150
提交
取消

我重写了属性的值,为什么调用的时候还是父类的属性值呢

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