2022-09-22 10:00阅读: 25评论: 0推荐: 0

代码阅读题-重写

同程-笔试

public class Test extends Super{
// public Integer getLength(){return 8;};
public Long getLength(){return new Long(5);}
// 这里的Long返回值会报错
public static void main(String[] args) {
Super supe = new Super();
Test test = new Test();
System.out.println(supe.getLength().toString()+test.getLength().toString());
}
}
class Super{
public Integer getLength(){
return new Integer(4);
}
}

事实上这段代码会编译报错,尝试使用了不兼容的参数类型
想一想这是怎么回事:

  1. 首先Test继承了Super父类,并且写了一个与父类成员方法同名的方法,但是返回值不同
  2. 会不会造成重写?事实上是造成重写了,虽然返回值不同,但是方法名相同

也就是说,子类要么重写父类方法,要么不使用与父类相同的方法名?!


已知的是重写的返回值要小于父类方法的返回值,这里的小于是指什么?
父类返回X类,子类重写返回X类的子类吗?
测试子类是可以的

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/16718181.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(25)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起