一直没有注意到这问题,今天又看thinking in java时看到了这句话:
JAVA SE5中添加了协变返回类型,它表示在导出类中的被覆盖方法可以返回基类中方法返回值的某种导出类型,用代码表示如下:
B类覆盖了A中的method方法,运行打印出 B
JAVA SE5中添加了协变返回类型,它表示在导出类中的被覆盖方法可以返回基类中方法返回值的某种导出类型,用代码表示如下:
public class A {
public A method() {
System.out.println("A");
return null;
}
}
public class B extends A {
@Override
public B method() {
System.out.println("B");
return null;
}
public static void main(String[] args) {
A a = new B();
a.method();
}
}B类覆盖了A中的method方法,运行打印出 B
本文详细解析 Java SE5 中引入的协变返回类型特性,通过实例展示如何在子类中覆盖父类的方法并返回更具体的类型,同时探讨其在实际编程中的应用与意义。

被折叠的 条评论
为什么被折叠?



