需求说明:
- 不同的动物都有进食的行为,但是在进食前需要捕获到食物后才可以进食。
- 要求定义一个抽象的动物类,该类中有一个抽象的捕食方法,和一个非抽象的进食方法。在进食方法中调用捕食方法。
- 定义3个不同的动物类,分别是老虎、猴子和狼,这些类继承抽象的动物类。
实现思路:
定义抽象类动物Animal,在其中定义捕食抽象方法predation()和非抽象进食方法eat(),并在进食方法中调用捕食方法。
创建3个动物类,分别是老虎类Tigger、猴子类Monkey和狼类Wolf,定义动物抽象父类,在这三个动物类中重写捕食方法。
创建测试类Test,在该类主方法中创建不同的动物对象,并调用它们的进食方法。
实现代码:
抽象类动物Animal:
public abstract class Animal { //定义捕食抽象方法 public abstract void predation(); //定义非抽象进食方法 public void eat() { System.out.println("嚼碎食物,讲嚼碎食物咽进肚子里。。。。"); } }
老虎类Tigger:
public class Tigger extends Animal{ //继承重写predation()方法 @Override public void predation() { System.out.println("老虎单枪匹马作战发现猎物一击致命"); } }
猴子类Monkey:
public class Monkey extends Animal{ //继承重写predation()方法 @Override public void predation() { System.out.println("猴子优哉游哉的爬到树上采摘香蕉"); } }
狼类Wolf:
public class Wolf extends Animal{ //继承重写predation()方法 @Override public void predation() { System.out.println("狼王有组织的安排不是进攻计划"); } }
测试类Test:
public class Test { public static void main(String[] args) { Animal tigger = new Tigger(); tigger.predation(); tigger.eat(); Animal monkey = new Monkey(); monkey.predation(); monkey.eat(); Animal wolf = new Wolf(); wolf.predation(); wolf.eat(); } }