4

以下に示すように、(リンクされたリストを実装するための) 一般的な 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() でキャストを実行する必要がありました。一見関連するヌルポインタの問題があったので、これを片付けたいと思いました。

4

1 に答える 1

11

のジェネリック パラメータ タイプがLinkにあるようCardに指定できCardます。

class Card extends Link<Card>

これにより、からCardジェネリック型パラメーターに割り当てられます。TLink

于 2013-04-25T22:18:01.503 に答える