黑马程序员技术交流社区

标题: 多态的一个问题 [打印本页]

作者: 马上都有    时间: 2014-5-20 18:11
标题: 多态的一个问题
  1. class ADemo {
  2. public ADemo show(){
  3.   return new ADemo();
  4. }
  5. }
  6. class BDemo extends ADemo{
  7. public BDemo show(){
  8.   return new BDemo();
  9. }
  10. }
  11. 为什么我这样写是不报错的呢?
复制代码



作者: ۩大世界小人物    时间: 2014-5-20 20:24
BDemo这个类中的show()并没有重写父类    因为返回值不同           你这样写   是正确的  一个方法返回类型和return的相同    BDemo继承ADemo后   也没有重写ADemo中的show()方法
作者: tc4892998    时间: 2014-5-20 21:22
楼上已经回答了 - -
作者: 流沙    时间: 2014-5-20 22:22
子类继承父类不建议写重名方法!
作者: 不似侽紸角.    时间: 2014-5-20 22:25
子类可以继承父类的方法,但不一定要重写父类,子类可以有自己的特有方法,
继承是为了提高代码的复用性,是子类拥有了父类的方法。

如果父类是抽象类,子类则必须复写父类的所有方法,否则会报错。
作者: 艮昕辶    时间: 2014-5-21 16:57
子类复写父类成员方法
返回值类型和参数类型个数必须相同
作者: Hosing    时间: 2014-7-3 16:12
二楼解释的很透彻




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2