2-14_猫和狗(接口版)
1 package InterfaceCat; 2 3 public interface Jumpping { 4 public abstract void jump(); 5 }
1 package InterfaceCat; 2 3 public abstract 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 abstract void eat(); 32 33 }
1 package InterfaceCat; 2 3 public class Cat extends Animal implements Jumpping{ 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 16 @Override 17 public void jump() { 18 System.out.println("猫可以跳高了"); 19 } 20 }
1 package InterfaceCat; 2 /* 3 案例:猫和狗 4 5 需求:对猫进行训练,猫可以调高,加入跳高功能。请采用抽象类和接口来实现猫的案例,并在测试类中进行测试 6 7 思路: 8 1.定义接口(Jumpping) 9 成员方法:跳高(); 10 2.定义抽象动物类(Animal) 11 成员变量:姓名,年龄; 12 构造方法:无参,带参; 13 成员方法:get/set方法,吃饭(); 14 3.定义具体猫类(Cat),继承动物类,实现跳高接口 15 构造方法:无参,带参; 16 成员方法:重写吃饭(){...},重写跳高方法(){...} 17 4.定义测试类(AnimalDemo),写代码测试 18 * */ 19 public class AnimalDemo { 20 public static void main(String[] args) { 21 //创建对象,调用方法 22 Jumpping j = new Cat(); 23 j.jump(); 24 System.out.println("--------"); 25 26 Animal a = new Cat(); 27 a.setName("加菲猫"); 28 a.setAge(6); 29 System.out.println(a.getName()+","+a.getAge()); 30 a.eat(); 31 32 a = new Cat("加菲猫二号",3); 33 System.out.println(a.getName()+","+a.getAge()); 34 a.eat(); 35 System.out.println("-------"); 36 37 Cat c = new Cat(); 38 c.setName("加菲猫三号"); 39 c.setAge(1); 40 System.out.println(c.getName() +","+c.getAge()); 41 c.eat(); 42 c.jump(); 43 44 } 45 }