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导出来的(子类)
有了协变返回类型以后,就成为了合法的返回类型了。