问答详情
源自:10-1 Java 中的多态

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

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

提问者:肥川 2019-07-23 17:36

个回答

  • 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,在下也是萌新。哪里说得有问题,可以指出来。就酱紫~

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

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

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

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

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

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