Polymorphism is the ability of the same behavior to have multiple different manifestations or forms. Polymorphism is the same interface, using different instances to perform different operations, as shown in the figure:
Polymorphism is the embodiment of multiple expressions of objects.
现实中,比如我们按下 F1 键这个动作: ·如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档; ·如果当前在 Word 下弹出的就是 Word 帮助; ·在 Windows 下弹出的就是 Windows 帮助和支持。 同一个事件发生在不同的对象上会产生不同的结果。
Advantages of polymorphism
·1. Eliminate the coupling relationship between types
·2. Replaceability
·3. Extensibility
·4. Interface
·5. Flexibility
·6. Simplification
Three necessary conditions for the existence of polymorphism
·Inheritance
##·Override
·The parent class reference points to the child class object
For example:Parent p = new Child();
public class Test { public static void main(String[] args) { show(new Cat()); // 以 Cat 对象调用 show 方法 show(new Dog()); // 以 Dog 对象调用 show 方法 Animal a = new Cat(); // 向上转型 a.eat(); // 调用的是 Cat 的 eat Cat c = (Cat)a; // 向下转型 c.work(); // 调用的是 Cat 的 work } public static void show(Animal a) { a.eat(); // 类型判断 if (a instanceof Cat) { // 猫做的事情 Cat c = (Cat)a; c.work(); } else if (a instanceof Dog) { // 狗做的事情 Dog c = (Dog)a; c.work(); } } } abstract class Animal { abstract void eat(); } class Cat extends Animal { public void eat() { System.out.println("吃鱼"); } public void work() { System.out.println("抓老鼠"); } } class Dog extends Animal { public void eat() { System.out.println("吃骨头"); } public void work() { System.out.println("看家"); } }
吃鱼 抓老鼠 吃骨头 看家 吃鱼 抓老鼠
Java introductory tutorials, welcome to learn online!
The above is the detailed content of What is java polymorphism. For more information, please follow other related articles on the PHP Chinese website!