请问java泛型类怎么定义特化模板?
我想在java里实现链表,利用泛型,就需要获取泛型类T的元素prev和next,
但是这个类怎么定义?
比如在C++中可以这样写:
template <typename T>
class LinkList {
T* link; //头结点
...
void addLink(T * link) {
...
this->link->prev = link;//这里不用告诉编译器T里面有个prev就可以直接编写
}
}
然而在Java里面这样会出错,表现为prev未定义:
public class LinkList<T> {
public T link = null;//头结点,初始化为null
....
public void insertLink(T link) {
...
this.link.prev = link;//这里prev就不存在
}
}
如题,请问怎么定义一个base类型T呢?然后我的所有类型都能继承这个T?
比如
public class T {
T prev;
T next;
}
public Person extends T {
...
}
LinkList<Person> persons = ...;
Person以及其他类都能继承T,并且可以作为LinkList的特化类直接使用?
我知道不用泛型也可以,但是我是想要presons.link这个link直接就是Person类型而不是Person继承的基类。