按照我的Previous Question,我正在阅读Angelika Dissecting Enum的文章。除了类型只能为其子类型实例化并且子类型继承一些常用方法之外,我无法理解文章。Angelika Langer Enum <E extends Enum <E>>解码
- 以这种方式声明的抽象Enum类是什么意思?它有什么用处?
- 最后一部分的文档描述了三个方面,有人可以更容易地向我解释它们吗?
- 我在代码草图中看到Enum类正在声明
compareTo
方法。当Enum暗含实现Comparable interface
时。为什么需要定义自己的compareTo
方法? - 似乎它是一个递归泛型的概念。递归泛型究竟意味着什么?在做了一些R & D并理解了我的最后一个问题答案之后,我明白它迫使这个类本身被参数化。
尽管如此,详细的解释将是有用的。
“为什么不说它像...” - 因为这是无效的Java;) –
老实说,我的重点不是那个。我知道它不是有效的Java。我的观点是理解整个概念@OliCharlesworth – benz
在C++中,这个习语被称为[奇怪的循环模板模式](http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern)。另请参阅以下页面以获取对Java的引用:http://en.wikipedia.org/wiki/Talk:Curiously_recurring_template_pattern – nosid