java定义一个Person抽象类,包含姓名和年龄两个属性,以及一 个抽象方法work()。定义Employee类继承Person类,并实 现自己特有的work()方法,定义Student类继承Person类, 并实现自己特有的study()方法的测试类
时间: 2023-06-16 19:07:37 浏览: 551
Person类和它的两个子类Student、Employee
5星 · 资源好评率100%
下面是Java代码实现:
```java
public abstract class Person {
protected String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public abstract void work();
}
public class Employee extends Person {
public Employee(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("Employee: " + name + " is working.");
}
}
public class Student extends Person {
public Student(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("Student: " + name + " is studying.");
}
public void study() {
System.out.println("Student: " + name + " is studying.");
}
}
public class Test {
public static void main(String[] args) {
Person p1 = new Employee("John", 30);
Person p2 = new Student("Tom", 20);
p1.work();
p2.work();
((Student)p2).study();
}
}
```
在这段代码中,我们首先定义了一个抽象类 `Person`,它包含了两个属性 `name` 和 `age`,以及一个抽象方法 `work()`。然后我们定义了两个子类 `Employee` 和 `Student`,分别继承了 `Person` 类,并实现了自己特有的 `work()` 方法。其中 `Employee` 类只实现了 `work()` 方法,而 `Student` 类还实现了自己特有的 `study()` 方法。
最后,我们在测试类中创建了一个 `Employee` 对象和一个 `Student` 对象,并调用了它们的 `work()` 方法。我们还将 `p2` 强制转换成 `Student` 类型,并调用了它自己特有的 `study()` 方法。
阅读全文