java泛型 自限定类型

如SelfBoundGeneric<T extends SelfBoundGeneric<T>>

 

第一次看可能会非常疑惑,但是我现在只知道我第一次看的时候确实非常疑惑,但是具体怎么疑惑却不知道了。

那么这个泛型类的意思就是:

他接受一个类型参数T,而 T是继承SelfBoundGeneric<T> 的 就这么简单

所以 要想传递正确的 类型参数 给T

那么只能要传递类型只能是 class ClassName extends SelfBoundGeneric<ClassName>{}的

只有这样 SelfBoundGeneric的泛型参数T才会被编译器接受

声明的时候用 SelfBoundGeneric<ClassName>  = new ClassName(); 也是可以接受的!!!

 

posted @ 2016-07-13 22:32  巡音  阅读(1724)  评论(0编辑  收藏  举报