java一个小问题,高手请进!

2024年11月18日 23:30
有3个网友回答
网友(1):

覆盖只是针对方法,字段是不会被覆盖的。(这一点可以通过在代码中设置断点进行调试看到)
另外继承一个类添加新字段的时候,应该避免字段名和基类中的字段名一样。

网友(2):

那是自然了 你用父类的引用变量指向了子类的对象 自然要显示5 因为此时a为A类的对象 此时子类虽然也有成员data 但是由于a是父类的对象 ,并且B类继承了A类,所以要显示5了

网友(3):

用基类引用派生类时,调用的方法是派生类的方法,属性是基类的属性
用 基类A 的引用a 向的实际类是派生类B

当调用方法时, 实际调用的方法是 派生类B的print()
而访问类的属性时,调用的基类的属性 a.data