java se5中添加了協變返回類型,他表示在處處類中的被覆蓋方法能夠返回基類方法的返回類型的某種導出類型java
class Grain(){class
public String toStinrg(){return "Grain";}方法
}process
class Wheat extends Grain(){
public String toString(){return "Wheat";}new
}return
calss Mill(){
Grain process(){return new Grain();}
}
class WheatMill extends Mill(){
Wheat precess(){return new Wheat();}
}
在舊版java中,被覆蓋的process()方法只能返回Grain類型,儘管Wheat是從Grain導出來的(子類)
有了協變返回類型以後,就成爲了合法的返回類型了。