一.先创建一个Animal类 代码如下: public class Animal { private String name; private int 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 void speak(){ System.out.println(name + "今年"+age+"岁了。"); } public void move() { System.out.println(name+"在动……"); } public void eat(){ System.out.println(name+"在吃……"); } @Override public String toString() { return "Animal{" + "name='" + name + '\'' + ", age=" + age + '}'; } } 二.Animal类里面的Cat,Dog,Bird Cat: 代码如下: public class Cat extends Animal { /** * 子类改写父类的同名同参方法 */ @Override public void move(){ System.out.println("猫咪["+getName()+"]在走路。"); } /** * 子类改写父类的同名同参方法(纵向多态) */ @Override public void eat(){ System.out.println("猫咪["+getName()+"]爱吃鱼虾。"); } /** * 子类添加新的方法 */ public void play(){ System.out.println("猫咪["+getName()+"]正在玩老鼠"); } } Dog: 代码如下: public class Dog extends Animal{ /** * 子类改写父类的同名同参方法 */ @Override public void move(){ System.out.println("狗仔["+getName()+"]在奔跑。"); } /** * 子类改写父类的同名同参方法(纵向多态) */ @Override public void eat(){ System.out.println("狗仔["+getName()+"]爱吃大骨头。"); } /** * 子类添加新的方法 */ public void play(){ System.out.println("狗仔["+getName()+"]正在玩球球"); } } Bird: 代码如下: public class Bird extends Animal{ /** * 子类改写父类的同名同参方法 */ @Override public void move(){ System.out.println("小鸟["+getName()+"]在跳跃。"); } /** * 子类改写父类的同名同参方法(纵向多态) */ @Override public void eat(){ System.out.println("小鸟["+getName()+"]爱吃虫子。"); } /** * 子类添加新的方法 */ public void play(){ System.out.println("小鸟["+getName()+"]正在到处飞"); } } 三.创建Student 代码如下: public class Student1 { public String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void feed(Animal animal) { if (animal instanceof Cat) {//判断是否是猫实例 System.out.println(name + "喂养猫咪[" + animal.getName() + "]。"); } else if(animal instanceof Dog) {//判断是否是狗实例 System.out.println(name + "喂养狗狗[" + animal.getName() + "]。"); } else if(animal instanceof Bird) {//判断是否是鸟实例 System.out.println(name + "喂养鸟鸟[" + animal.getName() + "]。"); } else { System.out.println(name + "喂养动物[" + animal.getName() + "]。"); } animal.move();//体现多态 animal.eat();//体现多态 } } 四:创建TestStudent 代码如下: public class TestStudent { public static void main(String[] args) { //创建学生对象 Student student = new Student(); student.setName("张力文"); //创建第一个动物 Animal animal1=new Cat(); animal1.setName("文雅兰"); animal1.setAge(19); //创建第二个动物 Animal animal2 = new Dog(); animal2.setName("邹雪森"); animal2.setAge(19); //创建第三个动物 Animal animal3 = new Bird(); animal3.setName("何妃"); } } 自己动手看看RUN的效果吧!