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

来源:10-1 Java 中的多态

肥川

2019-07-23 17:36

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

写回答 关注

2回答

  • DE先森
    2019-07-24 09:42:49
    已采纳

    https://img3.mukewang.com/5d37b2e80001109a05690175.jpg

    https://img.mukewang.com/5d37b2e80001945b05690167.jpg

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

    https://img2.mukewang.com/5d37b684000153cd05050159.jpg

    https://img4.mukewang.com/5d37b69f0001f6bf03320082.jpg

    我试了下、

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

    https://img3.mukewang.com/5d37b43f0001241705950071.jpg

    https://img1.mukewang.com/5d37b4c6000184a705150077.jpg

    https://img1.mukewang.com/5d37b4ab000113bd03060090.jpg

    https://img.mukewang.com/5d37b4d90001a03602100048.jpg

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

    如下:

    https://img1.mukewang.com/5d37b6da0001185406070229.jpg

    https://img.mukewang.com/5d37b6cb00019dd105930235.jpg

    https://img1.mukewang.com/5d37b72000018e1105070122.jpg

    https://img2.mukewang.com/5d37b73500011a9a00960064.jpg

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

    肥川 回复DE先森

    好嘞,先收藏了,感谢推荐!

    2019-07-25 23:22:56

    共 3 条回复 >

  • 慕哥8082619
    2019-07-29 10:49:09

    https://img2.mukewang.com/5d3e5d7e000144dc05690127.jpg

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

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

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

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

Java入门第二季 升级版

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

530558 学习 · 6091 问题

查看课程

相似问题