java 先按照2个student类
时间: 2024-02-23 19:59:06 浏览: 16
可以这样实现两个简单的Student类:
```java
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void study() {
System.out.println(name + " is studying.");
}
public void sleep() {
System.out.println(name + " is sleeping.");
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
```java
public class GraduateStudent extends Student {
private String researchArea;
public GraduateStudent(String name, int age, String researchArea) {
super(name, age);
this.researchArea = researchArea;
}
public void research() {
System.out.println(getName() + " is researching in " + researchArea + ".");
}
public String getResearchArea() {
return researchArea;
}
}
```
其中,Student类代表普通的学生,有一个name属性和一个age属性,以及study()和sleep()方法。GraduateStudent类继承了Student类,同时增加了一个researchArea属性和一个research()方法,表示研究领域。
在GraduateStudent类的构造方法中,使用super关键字调用父类的构造方法,初始化name和age属性。在research()方法中,使用getName()方法获取父类的name属性值,以输出研究领域和学生姓名的信息。
接下来,我们可以创建两个学生对象,分别是普通学生和研究生,并调用它们的方法,例如:
```java
Student stu = new Student("Tom", 18);
stu.study(); // 输出:Tom is studying.
stu.sleep(); // 输出:Tom is sleeping.
GraduateStudent gradStu = new GraduateStudent("Jerry", 25, "Computer Science");
gradStu.study(); // 输出:Jerry is studying.
gradStu.sleep(); // 输出:Jerry is sleeping.
gradStu.research(); // 输出:Jerry is researching in Computer Science.
```