2016-04-26 22 views
0

特定の抽象クラスを拡張するクラスの配列リストをどのように作成できるのでしょうか。抽象クラスの配列リスト?

abstract class Product{ 
} 

し、それを拡張し、いくつかのクラス:

public class Toy extends Product{ 
} 

public class TV extends Product{ 
} 

私は抽象クラスProductを拡張するクラスのリストを実装したいと思い、私は抽象クラスを考えてみましょう。どうやってやるの?

+0

クラスの_an配列リストを明確にすることはできますか? – Savior

+0

私は複数の製品を格納する配列を持っていたいと思います。 – uksz

+0

特定のメソッドをオーバーライドしない限り、テレビやおもちゃは、クラスである必要があるよりも、製品のインスタンスに似ています。 –

答えて

2

は次のものが必要です。

final List<Product> list = new ArrayList<>(); 

これは、あなたがextendsまたはimplementsProduct種類のListを有することを意味します。

あなたはない使用する必要があります

List<? extends Product> list = new ArrayList<>(); 

list.addので、コンパイルエラーになります。

0

これはあなたが探しているものですか?

List<? extends Product> list 
+0

まさに!本当にありがとう! – uksz

+2

@uksz 'List 'もすべての場合に動作します。この場合には「伸長」は必要ではない。これは、特定の型の 'List'メソッド_receiving_でのみ必要です。 –

+1

実際には '?この場合、有害である可能性が最も高い。 – Kayaman