定义一个person类,含姓名、性别、年龄等字段;继承person类设计teacher类,增加职称、部门等字段;继承person类设计student类,增加学号、入学时间、专业等字段。定义各类的构造方法和tostring()方法,分别创建对象进行测试。用java写
时间: 2024-12-17 15:31:10 浏览: 12
设计一个人类person,包括人员编号和姓名等数据成员以及相关的成员函数
在Java中,定义一个Person类可以使用如下代码:
```
public class Person {
private String name;
private String gender;
private int age;
public Person(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
public String toString() {
return "姓名:" + name + ",性别:" + gender + ",年龄:" + age;
}
}
```
其中,私有字段name、gender和age分别表示姓名、性别和年龄。构造方法Person(String name, String gender, int age)用于初始化这些字段。toString()方法用于返回对象的字符串表示。
在这个基础上,我们可以继承Person类来设计Teacher类和Student类。例如,Teacher类可以定义如下:
```
public class Teacher extends Person {
private String title;
private String department;
public Teacher(String name, String gender, int age, String title, String department) {
super(name, gender, age);
this.title = title;
this.department = department;
}
public String toString() {
return super.toString() + ",职称:" + title + ",部门:" + department;
}
}
```
其中,私有字段title和department分别表示职称和部门。构造方法Teacher(String name, String gender, int age, String title, String department)用于初始化这些字段,并调用父类的构造方法来初始化name、gender和age字段。toString()方法通过调用父类的toString()方法来返回对象的字符串表示,并附加上职称和部门的信息。
同样的,我们可以定义Student类:
```
public class Student extends Person {
private String id;
private String entranceTime;
private String major;
public Student(String name, String gender, int age, String id, String entranceTime, String major) {
super(name, gender, age);
this.id = id;
this.entranceTime = entranceTime;
this.major = major;
}
public String toString() {
return super.toString() + ",学号:" + id + ",入学时间:" + entranceTime + ",专业:" + major;
}
}
```
其中,私有字段id、entranceTime和major分别表示学号、入学时间和专业。构造方法Student(String name, String gender, int age, String id, String entranceTime, String major)用于初始化这些字段,并调用父类的构造方法来初始化name、gender和age字段。toString()方法通过调用父类的toString()方法来返回对象的字符串表示,并附加上学号、入学时间和专业的信息。
最后,我们可以分别创建Person、Teacher和Student对象进行测试,例如:
```
Person person = new Person("张三", "男", 20);
System.out.println(person.toString());
Teacher teacher = new Teacher("李四", "女", 35, "教授", "计算机科学与技术");
System.out.println(teacher.toString());
Student student = new Student("王五", "男", 18, "20210001", "2021年9月", "计算机科学与技术");
System.out.println(student.toString());
```
输出结果分别为:
```
姓名:张三,性别:男,年龄:20
姓名:李四,性别:女,年龄:35,职称:教授,部门:计算机科学与技术
姓名:王五,性别:男,年龄:18,学号:20210001,入学时间:2021年9月,专业:计算机科学与技术
```
--相关问题--:
阅读全文