java協變函數

Java 5.0添加了對協變返回類型的支持,即子類覆蓋(即重寫)基類方法時,返回的類型可以是基類方法返回類型的子類。

協變返回類型允許返回更爲具體的類型

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();
    }
}
public class CovariantReturn {
    public static void main(String [] args){
        Mill m = new Mill();
        Grain g = m.process();
        System.out.println(m.process());
         
        m = new WheatMill();
        System.out.println(m.process());
 
    }
}

輸出 Grain

       Wheat

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章