读书人

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

发布时间: 2012-05-04 12:36:09 作者: rapoo

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;    }} 

读书人网 >Eclipse开发

热点推荐