Java中的泛型

Lio*_*ior 7 java generics extends interface

我想了解以下类型的语法.

例:

public interface A < T extends A < T> > {

}
Run Code Online (Sandbox Code Playgroud)

这个界面的逻辑是什么?

Ker*_* SB 14

这将使用如下:

class X implements A<X> { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

换句话说,你被迫制作AX本身的参数,并class X implements A<Unrelated>禁止类似的东西.

这种结构X通过泛型参数提供接口访问,类型限制确保它不会被滥用.例如,T现在可以假设公开所有方法A.

请注意,这种结构在形式上有点类似于C++中奇怪的重复出现的模板模式(虽然它在技术上完全不同).在这两种语言中,它允许"基类"推断其最终的派生用法.