任务描述
本关任务:按要求编写一个Java应用程序,巩固Java封装、继承和多态的知识。
相关知识
为了完成本关任务,你需要掌握:1.重写和重载;2.abstract(抽象类)和interface(接口);3.final关键字;4.static关键字;5.多态。
编程要求
按照要求编写一个Java应用程序:
定义一个抽象类Person,包含抽象方法eat(),封装属性name、sex、age,声明包含三个参数的构造方法;
定义一个Chinese类,继承自Person类,重写父类的eat()方法,并定义一个自己特有的方法shadowBoxing();
定义一个English类,继承自Person类,重写父类的eat()方法,并定义一个自己特有的方法horseRiding();
编写测试类,定义一个showEat()方法,使用父类作为方法的形参,实现多态,分别调用showEat()方法,通过强制类型转换调用各自类特有的方法;
具体输出要求请看测试说明。
测试说明
测试输入:
姓名:张三
性别:男
年龄:20
姓名:史蒂文
性别:男
年龄:22
预期输出:
姓名:张三,性别:男,年龄:20,我是中国人,我喜欢吃饭!
姓名:史蒂文,性别:男,年龄:22,我是英国人,我喜欢吃三明治!
张三在练习太极拳!
史蒂文在练习骑马!
开始你的任务吧,祝你成功!
源码:
package case2;
import java.util.Scanner;
public class Task2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 姓名:张三
// 性别:男
// 年龄:20
// 姓名:史蒂文
// 性别:男
// 年龄:22
System.out.println("姓名:");
String cName = sc.next()