您的位置:首页 > 其它

协变返回类型

2014-11-08 08:40 204 查看
协变返回类型是指:在导出类中的被覆盖方法可以返回基本方法的返回类型的某种到处类型:

是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的导出类。

从输出结果来看这样是可行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: