从Person类派生出Student类,Student类有私有数据域status(状态,自定义枚举类型Status),表示年级(FRESHMAN、SOPHOMORE、JUNIOR、SENIOR),对应大一、大二、大三、大四。以及有参构造方法,将姓名、性别、状态设置为给定的参数;重写成员方法toString,返回姓名、性别和状态的字符串描述。
时间: 2023-07-04 17:22:36 浏览: 204
你可以使用Java语言来定义一个从Person类派生出的Student类,代码如下:
```java
// 自定义枚举类型,表示年级
enum Status {
FRESHMAN, SOPHOMORE, JUNIOR, SENIOR;
}
public class Student extends Person {
private Status status; // 状态,表示年级
// 有参构造方法,初始化姓名、性别和状态
public Student(String name, char sex, Status status) {
super(name, sex); // 调用父类的构造方法
this.status = status;
}
// 重写toString方法,返回学生的姓名、性别和状态
@Override
public String toString() {
return super.toString() + ",状态:" + status;
}
}
```
在这个代码中,我们定义了一个Student子类,继承了Person父类的属性和方法,并且新增了一个status属性,表示学生的年级。我们还定义了一个自定义枚举类型Status,用于表示年级。在Student类的有参构造方法中,我们调用了父类的构造方法来初始化name和sex属性,然后再初始化status属性。我们还重写了toString方法,返回学生的姓名、性别和状态。
你可以使用以下代码来创建一个Student对象:
```java
Student student = new Student("张三", 'M', Status.JUNIOR);
System.out.println(student.toString()); // 输出:姓名:张三,性别:男,状态:JUNIOR
```
这个代码中,我们创建了一个Student对象,设置了姓名为“张三”、性别为男、状态为JUNIOR(即大三)。然后调用了toString方法,输出了学生的姓名、性别和状态。
阅读全文