如何扩展Node <t extends =“”可比<t =“”>&gt;类

时间:2016-03-12 02:40:32

标签: java generics extends

我有一个这样的抽象类:

if (scrollPosition > 40) {
    $('p').fadeIn("slow",1);
} else if(scrollPosition < 40){
    $('p').fadeOut("slow",0);
}

我需要public abstract class Node<T extends Comparable<T>> ,以便我可以将extends Comparable<T>与通用类型.compareTo()一起使用。

我尝试使用此子类声明扩展此类:

T

然而,这会在eclipse中为第二个public class ListNode<T> extends Node<T extends Comparable<T>> 和最后两个extends抛出SyntaxErrors。

这是宣告子类的方法吗?这看起来很乱。

>>

应该怎么做?提前干杯。

1 个答案:

答案 0 :(得分:2)

Node

public abstract class Node<T extends Comparable<T>>{}

ListNode可以是:

public class ListNode<T extends Comparable<T>> extends Node<T>

需要注意的关键是,声明的类名称后面的type参数是对类中其他所有内容的约束。这包括由声明的类扩展的其他类型。

这意味着,一旦你有T的限制,你就不需要在extends / implements声明中再次这样做。