Java泛型:使用接口应用的类的类型?

时间:2013-05-31 14:45:11

标签: java generics interface

我有一个接口,其方法可以方便地返回调用该方法的实例。例如,setter可以返回“this”。

interface OriginWise<T> {
      T setOrigin( Origin origin );
}

有没有办法从它应用的类中自动获取T的实例,而不传递它如下所示?

class MyBean implements OriginWise<MyBean> {
    MyBean setOrigin( Origin o ){ ...; return this; }
}

此外,接口中的默认实现有哪些进展(仅使用其他接口方法的方法;与抽象类不同)?

2 个答案:

答案 0 :(得分:1)

  

接口中的默认实现

我不了解问题的其余部分,因为代码对我来说很好。

答案 1 :(得分:0)

这是你能做的最好的事情。如果你想返回它(它实现了OriginWise),不要忘记让T扩展OriginWise。另请参阅this answerhttp://passion.forco.de/content/emulating-self-types-using-java-generics-simplify-fluent-api-implementation