虚心求教!关于引用和子类改变父类属性的问题
Transp是父类,Bus和Plane是子类。
Transp类中有一属性int num,在Bus和Plane中分别赋值为20和200
在主函数中这样引用
Plane plane=new Plane();
Transp bus=new Bus();
接着
System.out.println("plane.num="+plane.num+" ");
System.out.println("bus.num="+bus.num+" ");
结果为
plane.num=200
bus.num=0
这里引用不同导致结果不同,bus.num=0因为在父类中num没赋值默认为0同时意味着是调用的父类的num,plane.num=200调用的是Plane类中的重写后的属性。但是原因不清楚,在引用,父类,子类,对象这些词语的关系究竟是什么呢??