通用接口将self作为参数。递归通用?

时间:2009-08-25 20:45:51

标签: java generics

免责声明:我对Java Generics没有丰富的经验,但是我和我的同事们花了一个小时才试图破译一个结构如下的界面:

interface HasAttributes<A extends HasAttributes<A, B>, 
                        B extends HasAttributesType<B>> extends Identification<B> {

当接口泛型采用本身的类型参数时,它到底意味着什么?这是做什么的?

1 个答案:

答案 0 :(得分:12)

这有意义 - Java的Enum类是一个很好的例子:

public abstract class Enum<E extends Enum<E>>
    implements Comparable<E>, Serializable

this Stack Overflow question about Enum中有一些有启发性的答案可以为你提供一些特殊的仿制药用途,并且比我更优雅地回答这个问题。