多态性是指同一个操作作用于某一类对象,可以有不同的解释,产生不同的执行结果
//需要存在继承或实现(接口)关系 abstract class Animal{ public String name; public abstract void eat(); } class Dog extends Animal{ public void eat(){ System.out.println("狗啃骨头"); } } //同样的方法调用而执行不同操作、运行不同代码(重写) class Cat extends Animal{ public void eat(){ System.out.println("猫吃鱼"); } } public class Test { public static void main(String[] args) { //在运行时父类或者接口的引用变量可以引用其子类的对象 Animal a1 = new Dog(); Animal a2 = new Cat(); a1.eat(); a2.eat(); } } /* 狗啃骨头 猫吃鱼 */
师承上官可编程 —— 陈立臣