代码示例:
package com.peter.java5; //多态使用的一个例子 public class TestAnimal { public static void main(String[] args) { TestAnimal t = new TestAnimal(); t.func(new Animal()); t.func(new Dog()); t.func(new Cat()); } public void func(Animal a) { a.eat(); a.jump(); if (a instanceof Dog) { Dog dog = (Dog) a; dog.Wang(); } if (a instanceof Cat) { Cat cat = (Cat) a; cat.catchMouse(); } } // public void func(Dog a) { // a.eat(); // a.jump(); // } } class Animal { String name; int age; public void eat() { System.out.println("进食"); } public void jump() { System.out.println("跳"); } } class Dog extends Animal { @Override public void eat() { System.out.println("狗吃屎"); } @Override public void jump() { System.out.println("狗急跳墙"); } public void Wang() { System.out.println("汪汪叫"); } } class Cat extends Animal { @Override public void eat() { System.out.println("猫吃鱼"); } @Override public void jump() { System.out.println("猫跳"); } public void catchMouse() { System.out.println("猫抓老鼠"); } }
本文通过一个具体的Java程序示例展示了多态的概念及其实现方式。示例中定义了一个Animal基类及两个派生类Dog和Cat,分别覆盖了基类的方法,并新增特定行为。主程序通过基类引用调用不同子类对象的方法,体现了多态性。
53

被折叠的 条评论
为什么被折叠?



