Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upjava 重写时返回类型疑惑 #848
java 重写时返回类型疑惑 #848
Comments
|
你的例子应该是正确的。 |
|
为什么我用跟你相同的代码测试结果不一样呢,我也是jdk8但输出的是子类的内容 public class ChildrenClass extends SuperClass{
@Override
public Integer test() {
System.out.println("int");
return null;
}
public static void main(String[] args) {
SuperClass clazz = new ChildrenClass();
clazz.test();
}
}
class SuperClass {
public Number test(){
System.out.println("number");
return null;
}
}每次输出的都是int |
是的,就是输出子类的,表示重写成功, 我当时好像忘记改了,我怎么会写aaa。。。 |
Java基础知识 1.4.3.2.重写 中指出重写时返回值类型相同;我觉得应改为返回类型小于等于父类方法返回类型。
我注意到 issue#723 改正了这一说法,能说说原因吗?感谢!
下面是我在JDK 1.8进行的测试