1. 设计⼀个抽象类People,具有抽象⽅法say(); 2. 设计⼦类ChinaPeople,AmericaPeople,实现抽象⽅法say(); 两个类的say()⽅法,分别输出语句:我是中国⼈;我是美国⼈ 3. 设计⼀个Speak类,提供speaking(People p)⽅法,注意:其参数是抽象的 People类型,Speaking⽅法中,要求以上转型对象参数p,调⽤say⽅法的内容; 4. 设计⼀个测试类Test,添加main函数,分别创建中国⼈和美国⼈,测试 speak类的使⽤; 5.再增加⼀个⼦类AfricaPeople,实现抽象⽅法say();添加到测试类中。
时间: 2024-02-27 22:55:44 浏览: 95
好的,我明白了,以下是代码实现:
```java
//抽象类People
abstract class People {
//抽象方法say
public abstract void say();
}
//中国人类
class ChinaPeople extends People {
//实现抽象方法say
public void say() {
System.out.println("我是中国人");
}
}
//美国人类
class AmericaPeople extends People {
//实现抽象方法say
public void say() {
System.out.println("我是美国人");
}
}
//非洲人类
class AfricaPeople extends People {
//实现抽象方法say
public void say() {
System.out.println("我是非洲人");
}
}
//Speak类
class Speak {
//speaking方法,接收People类型的参数
public void speaking(People p) {
p.say();
}
}
//测试类Test
public class Test {
public static void main(String[] args) {
//创建中国人对象
ChinaPeople china = new ChinaPeople();
//创建美国人对象
AmericaPeople america = new AmericaPeople();
//创建非洲人对象
AfricaPeople africa = new AfricaPeople();
//创建Speak对象
Speak speak = new Speak();
//Speak对象调用speaking方法,传入不同的People对象
speak.speaking(china);
speak.speaking(america);
speak.speaking(africa);
}
}
```
输出结果为:
```
我是中国人
我是美国人
我是非洲人
```
阅读全文