协变和抗变
来源:互联网 发布:塞班s40软件下载 编辑:程序博客网 时间:2024/05/01 13:30
在OO中,协变是指按照继承链正向改变,抗变是指逆向改变.
class Grain{public String toString(){return "Grain";}}class Wheat extends Grain{public String toString(){return "Wheat";}}class Mill{Grain process(){return new Grain();}}//协变class WheatMill extends Mill{Wheat process(){return new Wheat();}}//抗变class KangBian extends Wheat{Grain process(){return new Grain();}}public class NewTest{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);KangBian k = new KangBian();g = k.process();System.out.println(g);}}
<完>
0 0
- 协变和抗变
- 协变和抗变
- C#协变和抗变
- C++—协变和抗变
- C#:协变和抗变
- C#的协变和抗变
- 协变、抗变
- 协变和逆变
- 协变和逆变
- 协变和逆变
- 协变和逆变
- c#抗变 协变
- c# 抗变 协变
- 7.1.8 委托中的协变和抗变
- C#泛型的协变和抗变
- 新手C#协变和抗变学习总结
- C# 4 协变和逆变
- 委托中的协变和逆变
- O(n*lgn)时间复杂度的逆序对统计算法实现思想
- Xcode小白使用入门
- mtk编译.
- 整数划分问题
- iOS开发之ARC下的代理weak VS assign
- 协变和抗变
- 动态代理:JDK动态代理和CGLIB代理
- 说说长篇文档的评审
- 类的构造函数的调用
- 磁盘扩容,对被分割盘带来的可能的危机(文件上锁)
- 【BZOJ2818】Gcd
- Angular指令与Jquery结合
- 黑马程序员JAVA 020---030 小结
- 那个外包工场