014 継承(オーバーライドされたメソッドの利用) 024 解答例

// Studentクラスの定義
class Student {
    // studyメソッド
    public void study() {
        System.out.println("勉強します");
    }
}

// HighSchoolStudentクラスの定義(Studentクラスを継承)
class HighSchoolStudent extends Student {
    // studyメソッドのオーバーライド
    @Override
    public void study() {
        System.out.println("高校生が勉強します");
    }
}

// CollegeStudentクラスの定義(Studentクラスを継承)
class CollegeStudent extends Student {
    // studyメソッドのオーバーライド
    @Override
    public void study() {
        System.out.println("大学生が勉強します");
    }
}

// メインクラス
public class Main {
    public static void main(String[] args) {
        // Studentクラスのインスタンス
        Student student = new Student();
        student.study();  // 勉強します

        // HighSchoolStudentクラスのインスタンス
        HighSchoolStudent highSchoolStudent = new HighSchoolStudent();
        highSchoolStudent.study();  // 高校生が勉強します

        // CollegeStudentクラスのインスタンス
        CollegeStudent collegeStudent = new CollegeStudent();
        collegeStudent.study();  // 大学生が勉強します
    }
}

このコードでは、Student クラスが基本的な study メソッドを提供し、HighSchoolStudent クラスと CollegeStudent クラスがそれを継承して必要なメソッドをオーバーライドしています。それぞれのクラスのインスタンスを作成し、study メソッドを呼び出すことで、対応するメッセージが表示されます。

「014 継承」問題集リスト