用java编写有类 `Person` 和 `Student` ,它们之间存在继承关系,Person有成员变量name, sex, age,类型分别为String, char, int,构造方法Person(String,char,int)用来对成员变量进行初始化,成员方法setData(String,char,int)设置成员变量name, sex, age的值,getData()是不带参数且返回值是name, sex和age的值构成的字符串的成员方法;`Student` 是 `Person` 的子类,在 `Student` 中有int类型的sID和classNo用来表示学生的学号和班级号,它有带有5个参数的成员方法setData()和不带参数的方法getData(),setData()设置成员变量的值,getData()是返回五个成员变量值构成的字符串。
时间: 2024-02-27 21:53:50 浏览: 95
好的,这是一个面向对象的编程问题,我可以帮你解答。
首先,我们需要定义 `Person` 类,其中包含 `name`、`sex` 和 `age` 三个成员变量,以及一个构造方法用于初始化这三个成员变量,一个 `setData` 方法用于设置这三个成员变量的值,以及一个 `getData` 方法用于返回这三个成员变量的值构成的字符串。代码如下:
```java
public class Person {
private String name;
private char sex;
private int age;
public Person(String name, char sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public void setData(String name, char sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public String getData() {
return "Name: " + name + ", Sex: " + sex + ", Age: " + age;
}
}
```
接下来,我们需要定义 `Student` 类,它是 `Person` 类的子类,包含 `sID` 和 `classNo` 两个成员变量,以及一个带有五个参数的 `setData` 方法用于设置这五个成员变量的值,以及一个不带参数的 `getData` 方法用于返回这五个成员变量的值构成的字符串。代码如下:
```java
public class Student extends Person {
private int sID;
private int classNo;
public Student(String name, char sex, int age, int sID, int classNo) {
super(name, sex, age);
this.sID = sID;
this.classNo = classNo;
}
public void setData(String name, char sex, int age, int sID, int classNo) {
super.setData(name, sex, age);
this.sID = sID;
this.classNo = classNo;
}
public String getData() {
return super.getData() + ", Student ID: " + sID + ", Class No: " + classNo;
}
}
```
在 `Student` 类的构造方法中,我们需要调用父类 `Person` 的构造方法来初始化父类的三个成员变量,然后再初始化 `Student` 类自己的两个成员变量。在 `setData` 方法中,同样需要调用父类的 `setData` 方法来设置父类的三个成员变量的值,然后再设置 `Student` 类自己的两个成员变量的值。在 `getData` 方法中,我们首先需要调用父类的 `getData` 方法来获取父类的三个成员变量的值,然后再补充上 `Student` 类自己的两个成员变量的值。
这样,我们就完成了 `Person` 和 `Student` 两个类的定义。
阅读全文