当前位置: 代码迷 >> Eclipse >> java 继承中方法重写的有关问题
  详细解决方案

java 继承中方法重写的有关问题

热度:81   发布时间:2016-04-23 13:32:32.0
java 继承中方法重写的问题
在疯狂的java讲义时,书中讲到,重写要遵循两同两小一大原则,但是在其他的资料上讲的是三同一小一大.不同的是,前者讲返回类型是子类应小于等于父类的返回类型,后者讲的是等于.我用eclipse测试过了,如果子类返回类型小于父类的,编译器是会报错的,是不是java讲义过时了?

------解决方案--------------------
什么叫小于 extends 算小于(也就是说子类算小于), 还是 super 算小于(也就是说超类算小于)?
如果是extends算小于,那么是对的,如
Java code
class A {    public A getA() {        return this;    }}class B extends A {    public B getA() { //返回类型是父类方法的子类,是可以的        return this;    }}如果是super,那就不对了,如class A {    public A getA() {        return this;    }}class B extends A {    public Object getA() { //返回类型是父类方法的超类,是不可以的        return this;    }}
  相关解决方案