// 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
メソッドを呼び出すことで、対応するメッセージが表示されます。