设计接口Action表示人的活动,抽象方法有say(String msg);eating(String food); 设计抽象类Person,成员变量name和age,重写toString()方法,省略构造方法和setter、getter方法; 定义Worker类实现Action接口继承Person类。 定义Teacher类实现Action接口继承Person类。
时间: 2023-11-28 16:49:42 浏览: 155
抽象类和抽象方法、接口
下面是代码实现:
```java
public interface Action {
void say(String msg);
void eating(String food);
}
public abstract class Person {
protected String name;
protected int age;
@Override
public String toString() {
return "Name: " + name + ", Age: " + age;
}
}
public class Worker extends Person implements Action {
public Worker(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public void say(String msg) {
System.out.println("Worker " + name + " says: " + msg);
}
@Override
public void eating(String food) {
System.out.println("Worker " + name + " is eating " + food);
}
}
public class Teacher extends Person implements Action {
public Teacher(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public void say(String msg) {
System.out.println("Teacher " + name + " says: " + msg);
}
@Override
public void eating(String food) {
System.out.println("Teacher " + name + " is eating " + food);
}
}
```
在上面的代码中,我们定义了一个接口 `Action`,其中包含了两个抽象方法 `say` 和 `eating`。然后我们定义了一个抽象类 `Person`,其中包含了两个成员变量 `name` 和 `age`,以及重写了 `toString` 方法。最后,我们定义了两个类 `Worker` 和 `Teacher`,它们都实现了 `Action` 接口,并且继承了 `Person` 抽象类。在这两个类中,我们实现了接口中的两个抽象方法,同时也可以使用 `Person` 抽象类中的成员变量和方法。
阅读全文