【发布时间】:2010-07-19 20:08:03
【问题描述】:
对于一个抽象类,我想定义一个为子类返回“this”的方法:
public abstract class Foo {
...
public <T extends Foo> T eat(String eatCake) {
...
return this;
}
}
public class CakeEater extends Foo {}
我希望能够做以下事情:
CakeEater phil = new CakeEater();
phil.eat("wacky cake").eat("chocolate cake").eat("banana bread");
可以说香蕉面包会抛出 IllegalArgumentException 并显示消息“不是蛋糕!”
【问题讨论】:
标签: java generics subclass parameterized return-type