Java多态

描述

运用 Java 多态,设计缉毒犬相关

题目

运用 Java 多态,设计缉毒犬相关类,类的关系如下:

动物类:

​ 属性:名字、年龄。

​ 行为:吼叫、吃饭。

狗类:

​ 属性:名字、年龄。

​ 行为:吼叫(汪汪叫)、吃饭(啃骨头)。

缉毒接口:

​ 缉毒:drugsRoundUp

缉毒狗:

​ 属性:名字、年龄。

​ 行为:吼叫(汪汪叫)、吃饭(啃骨头)。

​ 缉毒:用鼻子侦测毒。

题目解决思路

  1. 设计动物类,声明吃饭与吼叫的 抽象方法
  2. 分析题目,狗继承动物类,重写吃饭与吼叫 方法
  3. 创建缉毒 接口
  4. 缉毒犬继承狗类,实现缉毒接口。

代码具体实现

动物类代码:

public abstract class Animal { private String name; private int age; // 无参构造 public Animal() { } // 全参构造 public Animal(String name, int age) { this.name = name; this.age = age; } // 吼叫 public abstract void bellow(); // 吃饭 public abstract void eat(); // 信息显示 public void showInfo(){ System.out.println("名字:" + name + " 年龄:" + age); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }

狗类代码:

public class Dog extends Animal{ // 无参构造 public Dog() { } // 全参构造 public Dog(String name, int age) { super(name, age); } // 吼叫 @Override public void bellow() { System.out.println("汪汪汪"); } // 吃饭 @Override public void eat() { System.out.println("啃骨头"); } }

缉毒接口代码:

public interface DrugsRoundUp { // 缉毒方法 void drupsRoundUp(); }

缉毒犬类代码:

public class DrugDog extends Dog implements DrugsRoundUp{ // 无参构造 public DrugDog() { } // 全参构造 public DrugDog(String name, int age) { super(name, age); } // 缉毒 @Override public void drupsRoundUp() { System.out.println("用鼻子侦测毒"); } }

测试类代码:

public class Test { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)\n"); Animal a = new DrugDog("冷锋",5); a.showInfo(); a.eat(); a.bellow(); ((DrugDog) a).drupsRoundUp(); } }

运行结果如下图:

03_java多态.png

运用 Java 多态,设计缉毒犬相关类。