私は今日の "Android for Java"というコースの試験を受けています。多分あなたの何人かが私のためにそれを説明するかもしれません。今日の試験のトラブル - ArrayListのメソッド
質問:
見るこのコレクションのArrayList P。 Personクラスは、 スーパークラスのStudentクラスです。 ArrayListは、List-interface (Java-APIに準拠)を実装しています。
コンパイラでは、コードに記載されている状況のいくつかを許可しません。どうして? は、彼らがPは文句を言わない人 か、なぜPがArrayListのないのインスタンスを含むことを伴う可能性がどのように説明してください。例えば。 p.add( "Hello"); now にはStringインスタンスが含まれています。
コード:
p = new ArrayList<Object>();
void method (ArrayList<Student> als) { ... }
void method (List<Person> lp) { ... }
void method (ArrayList<Object> alo) { ... }
どのようにこの問題を説明しますか?私は、私の教授が私に答えたいものを手に入れません。
引用文が文法を混乱させる場合は、申し訳ありません。私はそれをスウェーデン語から翻訳してきました。
第一の方法及び第3の方法は、Javaのオーバーロード規則どおり重複の方法があるけれども
を宣言する必要が両方
ArrayList<Person>
とArrayList<Student>
(人の他のすべてのサブクラス)を取ることができます方法が必要な場合ということです:あなたがメソッドを定義する必要があることできるようにするには質問の完全なコード?? – DNA'p'はメソッド宣言と何が関係していますか? – aioobe
翻訳で失われたものがいくつかあると思います... – csturtz