Class Grain
{
public String toString(){return "Grain";}
}
Class Wheat extends Grain
{
public String toString(){return "Wheat";}
}
Class Mill
{
public Grain process(){return new Grain();}
}
Class WheatMill extends Mill
{
public Wheat process(){return new Wheat();}
}
Wheate 覆盖了Mill的process方法。但是返回了一个Wheat的类型。也就是说返回了一个更加具体的类型。这个就叫做协变了。还是好用的。以后用到的时间在说协变类型的方便。
无事再看thinking in java