CY1223:
私はリビジョン質問に答えると私はそれに答える方法についてのちょっとこだわっています。
質問は次のようになります:
私たちは、次のクラス定義の輪郭を持っていると仮定します。
public abstract class Person { ... }
public class Man extends Person { ... }
public class Woman extends Person { ... }
public class Boy extends Person { ... }
public class Girl extends Peron { ... }
私。作成しArrayList
たクラスの任意のインスタンス保存することができるMan
/ Woman
/ Boy
/ Girl
上記のクラス定義を使用しますが、のインスタンスを許可しませんAnimal
か他のクラスを。
II。呼ばれる(これで何も)シンプルなインタフェースを記述Child
して作成するためにそれを使用するArrayList
のインスタンスを格納できるようにBoy
してGirl
唯一の(つまりはありませんMan
かWoman
)。
私は答えを前提と第一は、以下のものです。
ArrayList <Person> list = new ArrayList<Person>();
しかし、問題の第二の部分のために、私はそれに答えるするかどうかはわかりません。私はそれは、Javaのジェネリックとは何かを持っていると仮定します。
lealceldeiro:
私が作成しますChild
インターフェイスを。
interface Child {}
作るBoy
とGirl
それを実装。
public class Boy extends Person implements Child { ... }
public class Girl extends Person implements Child { ... }
そしてリストのためのジェネリック型としてのインターフェイスを使用しています。
ArrayList<Child> list = new ArrayList<>();
サイドノート
常にしようとするインタフェースをプログラミング。代わりのArrayList
参照使用などList
。
List<Child> list = new ArrayList<>();