下面是运行结果:
this is overRiding
this is overLoading return String
this is overLoading return int
有以上程序可以知道,方法的重载是可以改变返回值类型的,但是尚不能说明方法的覆盖是否可以改变返回值类型,现在修改A类中 riding()方法的返回值类型为int,
public int riding(){
return 111111;
}
此时会有如下的错误:
由此可知,方法的覆盖是不允许修改返回值类型的
总结如下:
方法覆盖 必须满足下列条件:
(1) 子类的方法的【名称】及【参数个数】及【参数类型】必须和所覆盖的方法 相同
(2) 子类的方法【返回值类型】 必须和所覆盖的方法 相同
重载方法必须满足下列条件
(1) 方法名必须相同
(2) 方法的参数签名必须相同
(3) 方法的返回类型和方法的修饰符可以不相同