Java多态

描述

运用 Java 多态,根据不同动物的习性实现睡觉与吃饭 方法,并实现每个动物独有的方法。

题目

根据不同动物的习性实现睡觉与吃饭方法,并实现每个动物独有的方法。

题目解决思路

  1. 设计动物 ,声明吃饭与睡觉的 抽象方法
  2. 创建猫和狗的类,并根据其习性实现吃饭与睡觉方法。
  3. 创建抓老鼠与看门的 接口
  4. 猫和狗都 继承 动物类,猫实现抓老鼠接口,狗实现看门接口。

代码具体实现

动物类代码:

public abstract class Animal { public abstract void eat(); public abstract void sleep(); }

看门接口代码:

public interface Lookable { void lookDoor(); }

抓老鼠接口代码:

public interface Catchable { void catchMouse(); }

狗类代码:

public class Dog extends Animal implements Lookable{ @Override public void eat() { System.out.println("狗吃骨头"); } @Override public void sleep() { System.out.println("狗睡觉"); } // 看门方法 @Override public void lookDoor() { System.out.println("狗能看门"); } }

猫类代码:

public class Cat extends Animal implements Catchable{ @Override public void eat() { System.out.println("猫吃鱼"); } @Override public void sleep() { System.out.println("猫睡觉"); } // 抓老鼠 @Override public void catchMouse() { System.out.println("猫抓老鼠"); } }

测试类代码:

public class Test { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)\n"); Animal a = new Dog(); a.eat(); a.sleep(); // 判断该对象是哪种动物 if(a instanceof Dog){ ((Dog) a).lookDoor(); }else if(a instanceof Cat){ ((Cat) a).catchMouse(); } } }

运行结果如下图:

02_java多态.png

根据不同动物的习性实现睡觉与吃饭方法,并实现每个动物独有的方法。