「需求及设计思路」 1、编程实现图中所示的继承结构,其中Person类包含: 两个属性:分别用于存放人的姓名和国籍; 一个构造器方法,用于初始化对象; 一个eat()方法,用于输出信息“人吃饭” 2、完成Person各子类的编写。各子类都重写了Person类中的eat()方法,各子类的eat()方法输出的信息分别为: 中国人:“用筷子吃饭” 美国人:“用刀叉吃饭” 印度人:“用手抓饭吃” 3、编写测试程序,创建三个对象如下: 中国人,张三 美国人,John 印度人,拉拉 要求输出此三人的相关信息,格式如:“中国人张三用筷子吃饭”用Java写 文件名为Test7
时间: 2024-02-01 15:15:51 浏览: 55
代码如下:
```java
// Person.java
public class Person {
private String name;
private String country;
public Person(String name, String country) {
this.name = name;
this.country = country;
}
public void eat() {
System.out.println("人吃饭");
}
public String getName() {
return name;
}
public String getCountry() {
return country;
}
}
// Chinese.java
public class Chinese extends Person {
public Chinese(String name) {
super(name, "中国");
}
@Override
public void eat() {
System.out.println(getCountry() + getName() + "用筷子吃饭");
}
}
// American.java
public class American extends Person {
public American(String name) {
super(name, "美国");
}
@Override
public void eat() {
System.out.println(getCountry() + getName() + "用刀叉吃饭");
}
}
// Indian.java
public class Indian extends Person {
public Indian(String name) {
super(name, "印度");
}
@Override
public void eat() {
System.out.println(getCountry() + getName() + "用手抓饭吃");
}
}
// Test7.java
public class Test7 {
public static void main(String[] args) {
Chinese chinese = new Chinese("张三");
American american = new American("John");
Indian indian = new Indian("拉拉");
chinese.eat();
american.eat();
indian.eat();
}
}
```
输出结果:
```
中国张三用筷子吃饭
美国John用刀叉吃饭
印度拉拉用手抓饭吃
```
阅读全文