-2

ここに画像の説明を入力以下のようなオブジェクトのカスタム クラスがあります。

public class StudentState implements Serializable {

    private static final long serialVersionUID = -3001666080405760977L;

    public CourseState CourseState;

    public class CourseState implements Serializable {

        private static final long serialVersionUID = -631172412478493444L;

        public List<Lessonstates> lessonstates;

    }

    public class Lessonstates implements Serializable {

        private static final long serialVersionUID = -5209770078710286360L;
        public int state;

    }
}

ここで、コード内の Lessonstates を初期化して使用したいと考えています。私はこれを行いましたが、エラーがあります:

CourseState state = test.new CourseState();
Lessonstates newLesson = state.new Lessonstates(); 

私もこれを試しました:

 Lessonstates newLesson = new CourseState().new Lessonstates(); 

エラーは StudentState.CourseState.Lessonstates をタイプに解決できません。修正方法を教えてください。

4

2 に答える 2

1

Lessonstatesからインスタンス化するだけで済みStudentStateますCourseState:

StudentState test = new StudentState();
CourseState state = test.new CourseState();
Lessonstates newLesson = test.new Lessonstates();

CourseStateとの両方Lessonstatesが の内部クラスであるためStudentState

それ以外の場合は、内部クラスを から取り出すStudentStateか、インスタンスなしでインスタンス化できるように静的にすることができStudentStateます。

于 2013-11-01T20:00:32.927 に答える