设计一个学生类Student和它的一个子类Undergraduate。要求如下: (1)Student类有name和age属性,一个包含两个参数的构造方法,用于给name和age属性赋值,一个show()方法打印Student的属性信息。(3分) (2)本科生类Undergraduate增加一个degree(学位)属性。有一个包含三个参数的构造方法,显示地调用父类的构造方法用于给继承的name和age二个属性赋值,第三个参数给degree专业赋值,重写show()方法用于打印Undergraduate的属性信息。(3分) (3)在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()方法。(4分)
时间: 2024-02-07 14:03:30 浏览: 22
好的,我知道了。下面是实现代码:
```java
// 定义学生类
class Student {
String name;
int age;
// 构造方法
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// 打印学生信息的方法
public void show() {
System.out.println("姓名:" + name + ",年龄:" + age);
}
}
// 定义本科生类,继承自学生类
class Undergraduate extends Student {
String degree;
// 构造方法,显示地调用父类构造方法
public Undergraduate(String name, int age, String degree) {
super(name, age);
this.degree = degree;
}
// 重写打印学生信息的方法,同时打印专业信息
@Override
public void show() {
System.out.println("姓名:" + name + ",年龄:" + age + ",专业:" + degree);
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 创建学生对象
Student s = new Student("张三", 20);
s.show(); // 打印学生信息
// 创建本科生对象
Undergraduate ug = new Undergraduate("李四", 22, "计算机科学与技术");
ug.show(); // 打印本科生信息
}
}
```
运行结果为:
```
姓名:张三,年龄:20
姓名:李四,年龄:22,专业:计算机科学与技术
```
希望能够解决你的问题!