2010-12-27 15 views
0

このクラスを作成するには、 "TheClass"の代わりに何を書きますか?あるいは、代わりにWithNameとWithAge genericを作成せずに、別の方法でそれを行うことができますか?Javaジェネリックス:ジェネリックパラメータとしての実際のクラス

class Item { 
NeigborList<TheClass> neighbors; 
} 

class WithName extends Item { // here I want neighbors to be a NeighborList<WithName> 
String name; 
void someMethod() { 
    System.out.println(neighbors.nearestTo(this).name); 
} 
} 

class WithAge extends Item { // here I want neighbors to be a NeighborList<WithAge> 
int age; 
void someOtherMethod() { 
    System.out.println(neighbors.nearestTo(this).age); 
} 
} 
+1

不明確質問を言いたかったと思います。 –

+3

私は、概念を可能な限り正確に記述する名前を選択しようとお勧めします。 "アイテム"はほとんど確実に一般的すぎるでしょう。 Itemがどのようなものであるかを調べることができれば、システムをモデル化するのに役立ちます –

答えて

4

私はあなたがこの

class Item <T> { 
    NeigborList<T> neighbors; 
} 

class WithName extends Item<WithName> { 
    ... 
} 
関連する問題