2-07_抽象类
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 }