编写java程序模拟中国人、美国人是人,北京人是中国人,完成相应类别人群的基本信息输出。除主类外,程序中还有4 个类:People、ChinaPeople、AmericanPeople 和BeijingPeople 类。要求如下: People 类有权限是protected 的double 型成员变量height 和weight,以及public void speakHello()、public void averageHeight()和public void averageWeight()方法。
时间: 2024-01-22 19:20:43 浏览: 54
以下是相应的Java代码:
```
public class People {
protected double height;
protected double weight;
public void speakHello() {
System.out.println("Hello!");
}
public void averageHeight() {
System.out.println("The average height of people is " + height + " cm.");
}
public void averageWeight() {
System.out.println("The average weight of people is " + weight + " kg.");
}
}
public class ChinaPeople extends People {
public ChinaPeople() {
height = 170.0;
weight = 65.0;
}
}
public class AmericanPeople extends People {
public AmericanPeople() {
height = 180.0;
weight = 75.0;
}
}
public class BeijingPeople extends ChinaPeople {
public BeijingPeople() {
height = 173.0;
weight = 68.0;
}
}
public class Main {
public static void main(String[] args) {
People p1 = new ChinaPeople();
People p2 = new AmericanPeople();
People p3 = new BeijingPeople();
p1.speakHello();
p1.averageHeight();
p1.averageWeight();
p2.speakHello();
p2.averageHeight();
p2.averageWeight();
p3.speakHello();
p3.averageHeight();
p3.averageWeight();
}
}
```
在上面的代码中,我们定义了一个People类,它有两个protected成员变量height和weight,以及三个public方法speakHello()、averageHeight()和averageWeight()。
然后,我们定义了三个子类ChinaPeople、AmericanPeople和BeijingPeople,它们都继承自People类,并且在构造函数中为height和weight赋值。
最后,在主类Main中,我们创建了三个不同的People类型的实例,并调用它们的方法输出相应的基本信息。