3

私はC#プログラマーであり、揚げ物がJavaの宿題をするのを手伝うことに同意しました。

一例では、汎用リストを拡張するクラスを作成したいと思います。C#ではこれは次のようになります

public class MyListClass : List<MyCustomType>

私が試してみました

public class MyListClass extends List<MyCustomType>

「ここにインターフェイスはありません」というエラーが表示されます。さて、私はインターフェースを使おうとはしていません...何かヒントはありますか?

4

4 に答える 4

4

java.util.Listインターフェースです。あなたはそれを拡張するのではなく、それを実装する必要があります。

public class MyListClass implements List<MyCustomType>{
}
于 2012-10-31T06:17:55.227 に答える
2

インターフェイスを拡張することはできません。実装する必要があります。ただし、実装の1つ(たとえば、LinkedList)を拡張できます。

public class MyListClass extends LinkedList<MyCustomType> {
于 2012-10-31T06:21:59.270 に答える
1

JavaはC++ではないので、標準テンプレートについてはすべて忘れてください。

おそらく必要なのは、型指定されたリストです。

List<MyCustomType> myList = new ArrayList<MyCustomType>();

それだけです。


割り当ての目標として「ジェネリッククラスの拡張」があるのは珍しいことです。現実の世界でも珍しいことです。

于 2012-10-31T06:26:34.480 に答える
0

ジェネリッククラス/インターフェースを宣言する必要があります

public class MyListClass<T> implements List<T> { }

または

public interface MyListInterface<T> extends List<T> { }

または何よりも

public class MyListClass<T> extends AbstractList<T> implements List<T> { }
于 2012-10-31T06:25:28.973 に答える