1

あなたが持っている

public class Question

public class MultipleChoice extends Question

public class SurveyQuestions

SurveyQuestions の場所

private static List<Question> q = new ArrayList<Question>();

主に、質問を追加し続け、質問を構成するすべてのものをリストに追加します。

完了したら、リストを反復処理します

for (Question q : SurveyQuestions.getInstance().getListOfQuestions())

質問: Question と MultipleChoice の両方にアクセスできるようにするには、"q" はどの型にする必要がありますか?

4

2 に答える 2

3

「へのアクセス」が「のメソッドへのアクセス」を意味する場合、MultipleChoice一部の質問はそうではない可能性があるため、それを使用することはできません。したがって、 であるQuestion必要があり、それが多肢選択式かどうかを次の方法で確認できます。if(q instanceof MultipleChoice)

于 2010-08-25T14:40:29.087 に答える
1

あなたはそれを作るべきQuestionです。

MultipleChoiceプレーンQuestion MultipleChoice... ではなく、 aはMultipleChoice . である ため、作成できませんQuestion。したがってQuestion、両方のタイプを表すことができます。

于 2010-08-25T14:41:45.807 に答える