java override 协变返回类型 博客分类: JAVA 协变覆盖
程序员文章站
2024-03-21 18:41:46
...
一直没有注意到这问题,今天又看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