返回具有泛型的对象子类

返回具有泛型的对象子类,第1张

返回具有泛型的对象子类
public abstract class Foo<T extends Foo<T>>  // see ColinD's comment{    public T eat(String eatCake)     {        return (T)this;    }}public class CakeEater extends Foo<CakeEater> {    public void f(){}}

编辑

要求子类以某种方式表现是没有问题的,这超出了静态类型可以检查的范围。我们一直在这样做-一页又一页的普通英语指定您如何编写子类。

提出的另一种具有协变返回类型的解决方案必须做同样的事情-用简单的英语要求子类实现者返回类型

this
。不能通过静态类型指定该要求。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5032291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存