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 }