java中怎样命名一个和父类名字相同的容器,使容器中包含子类

1个回答
展开全部
摘要 总结:子类父类拥有同名的方法时:
*当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。
*这个特性实际上就是面向对象“多态”特性的具体表现。
*如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。
*如果子类被当作父类使用,则通过子类访问的字段是父类的!
牢记:
在实际开发中,要避免在子类中定义与父类同名的字段。不要自找麻烦!
附录:网络上摘取的一些代码和解释,可以帮助理解。
咨询记录 · 回答于2021-11-18
java中怎样命名一个和父类名字相同的容器,使容器中包含子类
总结:子类父类拥有同名的方法时:*当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。*这个特性实际上就是面向对象“多态”特性的具体表现。*如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。*如果子类被当作父类使用,则通过子类访问的字段是父类的!牢记:在实际开发中,要避免在子类中定义与父类同名的字段。不要自找麻烦!附录:网络上摘取的一些代码和解释,可以帮助理解。
Copyright © 1999-2020, CSDN.NET, All Rights Reserved 登录有人叫我黑花关注java 子类的同名方法_子类父类拥有同名的方法时…… 原创2021-02-16 07:02:35有人叫我黑花 码龄2年关注子类父类拥有同名的方法时……(这个程序是不能运行的)packageyanzheng;public classParentChildTest {public static voidmain(String[]args) {Parentparent=newParent();parent.printValue();Childchild=newChild();child.printValue();parent=child;parent.printValue();parent.myValue++;parent.printValue();((Child)parent).myValue++;parent.printValue();}}class Parent{public int myValue=100;public voidprintValue() {System.out.println("Parent.printValue(),myValue="+myValue);}}class Child extendsParent{public int myValue=200;public voidprintValue() {System.out.println("Child.printValue(),myValue="+myValue);}}总结:子类父类拥有同名的方法时:*当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。*这个特性实际上就是面向对象“多态”特性的具体表现。*如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消