关于overridden的问题
在 JDK 5.0 环境下,应该是支持自动类型转换的吧?
在这里 class B 继承 class A,并且覆写了 getNumber() 方法,为什么不能自动将返回值类型提升为 int 呢?
class A {
public int getNumber() {
return 1;
}
}
class B extends A {
public short getNumber() {
return 2;
}
}
------解决方案--------------------参数和返回值的类型影响目标代码中调用函数时的栈的使用,不是你想的那么简单。
搞不好会破坏调函数调用栈。
------解决方案--------------------不知道lz在程序中是怎么调用的,但你在B中定义了一个新的方法阿,两个方法的返回类型不同,不能算是重载
------解决方案--------------------overridden 的时候,返回类型应该一样,就是short能转换成int也不行的!