你好!
我有疑惑如图
Animal父类
main
Dog子类
结果如下
我的疑惑是 main中代码是丛上到下一行一行执行的 那么在用子类的changeAge方法修改了age的值为20以后 内存中age的值已经变成了20 为何用父类get方法获取的age的值还是初始的1 而不是修改后的值 而子类的get方法就是修改后的值?谢谢
我觉得应该是super只是父类的替身一样的东西可以显示父类属性等,但不能直接这样改,它们俩是不同的,你可以
Animal a=new Dog()这样去属性覆盖,这样是可以改变父类属性值的
一个是A对象,一个是B对象,子类的changeAge是在对象B中调用的,age不是静态变量,A对象不受影响,应该是这样