1 package duoTai06;
2
3 public class Animal {
4 private String name;
5 private int age;
6
7 public Animal() {
8 }
9
10 public Animal(String name, int age) {
11 this.name = name;
12 this.age = age;
13 }
14
15 public String getName() {
16 return name;
17 }
18
19 public void setName(String name) {
20 this.name = name;
21 }
22
23 public int getAge() {
24 return age;
25 }
26
27 public void setAge(int age) {
28 this.age = age;
29 }
30
31 public void eat(){
32 System.out.println("动物吃东西");
33 }
34 }
1 package duoTai06;
2
3 public class Cat extends Animal {
4 public Cat() {
5 }
6
7 public Cat(String name, int age) {
8 super(name, age);
9 }
10
11 @Override
12 public void eat() {
13 System.out.println("猫吃鱼");
14 }
15 }
1 package duoTai06;
2
3 public class Dog extends Animal{
4 public Dog() {
5 }
6
7 public Dog(String name, int age) {
8 super(name, age);
9 }
10
11 @Override
12 public void eat() {
13 System.out.println("狗吃骨头");
14 }
15 }
1 package duoTai06;
2 /*
3 需求:请采用多态的思想实现猫和狗的案例,并在测试类中进行测试
4 思路:
5 1.定义动物类(Animal)
6 成员变量:姓名,年龄
7 构造方法:无参,带参
8 成员方法:get/set方法,吃饭()
9 2.定义猫类,继承动物类
10 构造方法:无参,带参
11 成员方法:重写吃饭
12 3.定义狗类,继承动物类
13 构造方法:无参,带参
14 成员方法:重写吃饭
15 4.定义测试类,写代码测试
16 */
17 public class AnimalDemo {
18 public static void main(String[] args) {
19 //创建猫类对象进行测试
20 Animal a = new Cat();
21 a.setName("加菲猫");
22 a.setAge(4);
23 System.out.println(a.getName()+","+a.getAge());
24 a.eat();
25
26 a = new Cat("加菲猫二号",5);
27 System.out.println(a.getName()+","+a.getAge());
28 a.eat();
29
30 //创建狗类对象进行测试
31 Animal d = new Dog();
32 d.setName("凯特");
33 d.setAge(3);
34 System.out.println(d.getName()+","+d.getAge());
35 d.eat();
36
37 d = new Dog("凯特二号",8);
38 System.out.println(d.getName()+","+d.getAge());
39 d.eat();
40 }
41 }