定义一个名为Person的父类,Person类有保护数据域name(姓名,String类型)、sex (性别,char类型,'M' 表示男,'F' 表示女)。以及有参构造方法,将姓名、性别设置为给定的参数;重写成员方法toString,返回姓名和性别的字符串描述。
时间: 2024-02-24 20:53:23 浏览: 80
你可以使用Java语言来定义一个名为Person的父类,代码如下:
```java
public class Person {
protected String name; // 姓名
protected char sex; // 性别,'M' 表示男,'F' 表示女
// 有参构造方法
public Person(String name, char sex) {
this.name = name;
this.sex = sex;
}
// 重写toString方法
@Override
public String toString() {
return "姓名:" + name + ",性别:" + (sex == 'M' ? "男" : "女");
}
}
```
在这个代码中,我们定义了一个Person类,包含了name和sex两个保护数据域,并且提供了一个有参构造方法,用于初始化这两个属性。我们还重写了toString方法,返回姓名和性别的字符串描述。
在子类中,我们可以通过调用父类的构造方法来初始化name和sex属性,例如:
```java
public class Student extends Person {
private int grade; // 年级
// 有参构造方法,初始化姓名、性别和年级
public Student(String name, char sex, int grade) {
super(name, sex); // 调用父类的构造方法
this.grade = grade;
}
// 重写toString方法,返回学生的姓名、性别和年级
@Override
public String toString() {
return super.toString() + ",年级:" + grade;
}
}
```
在这个代码中,我们定义了一个Student子类,继承了Person父类的属性和方法,并且新增了一个grade属性。在Student类的有参构造方法中,我们调用了父类的构造方法来初始化name和sex属性,然后再初始化grade属性。我们还重写了toString方法,返回学生的姓名、性别和年级。同样的,你也可以定义其他的子类,如Teacher类和Staff类,继承Person类并且重写toString方法。
阅读全文