实验 2:编写程序,重点理解构造方法在继承中的运用。 要求:编写 Person 类,其具有 name、age、sex 等属性。继承于 Person 类的 Teacher 类,具 有 title、quality、salary、prize 等属性。显示这些属性,并计算 salary、prize 之和。
时间: 2023-12-10 17:38:33 浏览: 68
下面是一个符合要求的示例代码:
```java
class Person {
String name;
int age;
char sex;
public Person(String name, int age, char sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
}
class Teacher extends Person {
String title;
String quality;
double salary;
double prize;
public Teacher(String name, int age, char sex, String title, String quality, double salary, double prize) {
super(name, age, sex);
this.title = title;
this.quality = quality;
this.salary = salary;
this.prize = prize;
}
public double getTotalIncome() {
return salary + prize;
}
public void display() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Sex: " + sex);
System.out.println("Title: " + title);
System.out.println("Quality: " + quality);
System.out.println("Salary: " + salary);
System.out.println("Prize: " + prize);
System.out.println("Total Income: " + getTotalIncome());
}
}
public class Test {
public static void main(String[] args) {
Teacher teacher = new Teacher("Alice", 35, 'F', "Professor", "Excellent", 8000, 500);
teacher.display();
}
}
```
这个程序定义了一个 `Person` 类和一个 `Teacher` 类,`Teacher` 类继承自 `Person` 类。`Person` 类有三个属性:`name`、`age` 和 `sex`。`Teacher` 类有额外的四个属性:`title`、`quality`、`salary` 和 `prize`。在 `Teacher` 类中,我们定义了一个 `getTotalIncome` 方法,计算教师的总收入,即工资和奖金之和。
在 `Teacher` 类中,我们调用了 `super` 关键字来调用 `Person` 类的构造方法,以初始化 `name`、`age` 和 `sex` 属性。在 `main` 方法中,我们创建了一个 `Teacher` 对象,并调用了 `display` 方法来显示教师的所有属性以及总收入。
阅读全文