用java写一段程序,初步体验继承的内涵 设计一个学生类和它的两个子类本科生类、研究生类,具体要求如下: 1、Student类有姓名和年龄两个属性,有构造器,包含两个参数,用于给name和age属性赋值,有一个显示方法,用来打印学生类的属性信息。 2、本科生类跟研究生类分别有一个专业属性。有一个包含三个参数的构造方法,前两个参数用于给继承的姓名和年龄属性赋值,第三个参数给专业赋值,一个显示方法用于打印本科生和研究生的属性信息。 3、在测试类中分别创建学生类,本科生类和研究生类的对象,调用它们的显示方法。
时间: 2024-03-23 19:41:52 浏览: 27
好的,以下是Java代码实现:
```java
class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void display() {
System.out.println("Name: " + name + ", Age: " + age);
}
}
class Undergraduate extends Student {
private String major;
public Undergraduate(String name, int age, String major) {
super(name, age);
this.major = major;
}
public void display() {
super.display();
System.out.println("Major: " + major);
}
}
class Graduate extends Student {
private String major;
public Graduate(String name, int age, String major) {
super(name, age);
this.major = major;
}
public void display() {
super.display();
System.out.println("Major: " + major);
}
}
public class TestStudent {
public static void main(String[] args) {
Student s = new Student("Tom", 20);
s.display();
Undergraduate u = new Undergraduate("Jerry", 21, "Computer Science");
u.display();
Graduate g = new Graduate("Alice", 25, "Artificial Intelligence");
g.display();
}
}
```
以上代码定义了一个`Student`类作为父类,并定义了`Undergraduate`和`Graduate`两个子类,分别继承了`Student`类。在测试类中,分别创建了一个`Student`对象、一个`Undergraduate`对象和一个`Graduate`对象,并调用了它们的`display()`方法,分别输出了它们的属性信息。