【发布时间】:2013-04-25 22:16:34
【问题描述】:
我有一个通用的 Link 类(用于实现链表),如下所示:
class Link<T> {
protected T next;
public T getNext() { return next; }
public void setNext(T newnext) { next = newnext; }
} // end class Link
现在,我想要另一个名为 Card 的类继承自它。
class Card extends Link {
...
}
但是,我希望它为 getNext() 返回一个 Card 对象。我该怎么做?
最初,Link 类不是通用的,但后来我每次想使用它时都必须对 getNext() 执行强制转换。我遇到了一个看似相关的空指针问题,所以我想解决这个问题。
【问题讨论】:
-
下面的解决方案效果很好。当我解决它时,空指针问题可能会出现在另一个问题中:)。
标签: java generics inheritance