首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于overridden的有关问题

2012-01-10 
关于overridden的问题在JDK5.0环境下,应该是支持自动类型转换的吧?在这里classB继承classA,并且覆写了getN

关于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也不行的!

热点排行