协变返回类型
2014-11-08 08:40
204 查看
协变返回类型是指:在导出类中的被覆盖方法可以返回基本方法的返回类型的某种到处类型:
是Java SE5中新添加的。看个例子就明白了
代码中Mill.process返回的Grain,它的导出类WheatMill返回的Wheat。Wheat有事Grain的导出类。
从输出结果来看这样是可行的。
是Java SE5中新添加的。看个例子就明白了
class Grain{ public String toString(){return "Grain";} } class Wheat extends Grain{ public String toString(){return "Wheat";} } class Mill{ Grain process(){return new Grain();}//return Grain } class WheatMill extends Mill{ Wheat process(){return new Wheat();}//return Wheat (extends Grain) } public class CovariantReturn { public static void main(String[] args) { Mill m = new Mill(); Grain g = m.process(); System.out.println(g); m = new WheatMill(); g = m.process(); System.out.println(g); } }
Grain Wheat
代码中Mill.process返回的Grain,它的导出类WheatMill返回的Wheat。Wheat有事Grain的导出类。
从输出结果来看这样是可行的。
相关文章推荐
- 协变返回类型
- 在Scala中,为什么函数的参数类型是逆变的,而函数的返回值协变的
- Covariant Returen Types(协变返回类型)
- java 协变返回类型的理解
- java中的协变返回类型
- Java之协变返回类型详解(附源码)
- 返回类型协变
- C++必知必会之(31)协变返回类型
- 协变、逆变与不变:数组、泛型、与返回类型
- Java covariant return type(协变返回类型)
- 新内容:协变返回类型
- 关于java可变(协变)返回类型的解说之一------------基类与派生类
- C++ 返回类型协变
- java学习笔记---协变返回类型
- 协变返回类型
- [c++ primer plus]虚函数的返回类型协变
- java协变返回类型使用示例
- LearnJava 多态之协变返回类型
- C++动态绑定及返回类型协变
- 协变返回类型