java编写一个父类People类,两个子类一个Student,一个Teacher,要用到super,要加属性,最后对象实例化
时间: 2024-10-13 08:15:46 浏览: 29
设计一个Person类,有Person类派生一个Student类和一个Teacher类
在Java中,我们可以创建一个父类`People`,它包含一些通用的人的属性,比如姓名、年龄等。然后我们有两个子类`Student`和`Teacher`,它们分别继承自`People`,并在需要的地方利用`super`关键字访问父类的属性或方法。这是一个简单的示例:
```java
// 父类 People
public class People {
private String name;
private int age;
// 构造函数,可能包含super调用
public People(String name, int age) {
this.name = name;
this.age = age;
}
// getter 和 setter 方法省略
}
// 子类 Student
public class Student extends People {
private int studentId;
// 子类构造函数,调用父类的构造并传入学生特有的信息
public Student(String name, int age, int studentId) {
super(name, age); // 调用父类的构造函数
this.studentId = studentId;
}
// 可能添加学生特有的方法...
}
// 子类 Teacher
public class Teacher extends People {
private String subject;
// 构造函数,类似Student的构造函数
public Teacher(String name, int age, String subject) {
super(name, age);
this.subject = subject;
}
// 可能添加教师特有的方法...
}
// 对象实例化
public static void main(String[] args) {
// 实例化学生
Student student = new Student("张三", 18, 001);
// 实例化老师
Teacher teacher = new Teacher("李四", 30, "数学");
System.out.println(student.getName()); // 输出:张三
System.out.println(teacher.getName()); // 输出:李四
}
```
在这个例子中,`Student`和`Teacher`在构造函数中都调用了`super`来初始化父类的`name`和`age`属性。
阅读全文