第1关:通过任务一
编程要求
-  声明一个抽象类 Pet,封装属性name和sex,声明一个带有两个参数的构造函数,声明抽象方法void talk()和void eat();
-  声明一个 Dog类继承自Pet,封装属性color,声明带有三个参数的构造函数,复写talk()和eat()方法;
-  声明一个 Cat类继承自Pet,封装属性weight,声明带有三个参数的构造函数,复写talk()和eat()方法;
-  编写测试类,通过有参构造函数实例化 Dog类对象,调用talk()方法和eat()方法;通过有参构造函数实例化Cat类对象 ,调用talk()方法和eat()方法;
-  具体输出要求请看测试说明。 
测试说明
测试输入: 泰迪 male brown 波斯猫 male 2.5 预期输出: 名称:泰迪,性别:male,颜色:brown,汪汪叫 泰迪吃骨头! 名称:波斯猫,性别:male,体重:2.5kg,喵喵叫 波斯猫吃鱼!
 
 
 

第2关:通过任务二
编程要求
按照要求编写一个Java应用程序:
-  定义一个抽象类 Person,包含抽象方法eat(),封装属性name、sex、age,声明包含三个参数的构造方法;
-  定义一个 Chinese类,继承自Person类,重写父类的eat()方法,并定义一个自己特有的方法shadowBoxing();
-  定义一个 English类,继承自Person类,重写父类的eat()方法,并定义一个自己特有的方法horseRiding();
-  编写测试类,定义一个 showEat()方法,使用父类作为方法的形参,实现多态,分别调用showEat()方法,通过强制类型转换调用各自类特有的方法;
-  具体输出要求请看测试说明。 
测试说明
测试输入: 张三 男 20 史蒂文 男 22 预期输出: 姓名:张三,性别:男,年龄:20,我是中国人,我喜欢吃饭! 姓名:史蒂文,性别:男,年龄:22,我是英国人,我喜欢吃三明治! 张三在练习太极拳! 史蒂文在练习骑马!
 












