一般来说,是否可以限制可能实现接口的类?限制可能实现接口的类
更具体地,可以在通用接口Foo<T>
限制其实现来的T
后代:
interface Foo<T> {}
class Baz extends Bar implements Foo<Bar> {} // desirable
class Baz extends Bar implements Foo<Qux> {} // undesirable
上下文是Foo<Bar>
对象应该被强制转换为Bar
对象类型安全方式。
已经耗尽了所有其他信息来源,我已经有了一个强烈的预感,这是不可能的—但如果有人能证明,我会很高兴!
是否需要投射? 'T getT()`方法是否足够?一个实现可以将它实现为`return this;`如果它碰巧是正确的类型。 – 2011-02-18 11:44:03
@Joachim:现在我只是觉得很傻! :)这会做得很好 - 谢谢你。如果您发布答案,我可以对其进行适当标记/评分? – eggyal 2011-02-18 12:02:15