Home >Java >Javagetting Started >What is java polymorphism
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();When calling a method using polymorphism, first check whether the method exists in the parent class. If not, a compilation error will occur; if so, call the subclass with the same name. method. The benefits of polymorphism: it allows the program to be well expanded and can handle objects of all classes universally. The following is a demonstration of a polymorphic instance. Please see the comments for detailed description: Test.java file code:
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("看家"); } }Execute the above program, the output result is:
吃鱼 抓老鼠 吃骨头 看家 吃鱼 抓老鼠php Chinese website, a large number of free
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!