多态作为面向对象编程里四大基本特性当中的其一, 另外三个特性是封装、继承以及抽象。多态这一词汇源自希腊语, 其意在表示“多种形态”。于Java之中, 多态能够让我们把子类对象当作父类对象看待, 如此一来我们便得以编排更为通用、更为灵活的代码。使得代码产生可重用性提高以及可扩展性提升这两大的主要优点便是多态。借助多态的运用, 能够设计出模块化的代码 , 这些代码可在不同系统与环境里实现重用。另外,多态还让代码在理解以及维护方面变得更为容易。比方说呢, 假定咱们存在一个父类, 以及两个子类Dog和Cat。每一个类都拥有一个()方法, 然而每一个子类的实现却是不一样的。不是在用多态的情形下, 要是我们想要让一只动物发出声响, 我们就得知道它属于什么类型的动物。但要是我们运用多态, 我们能够简便地调用()方法, 而无需知晓动物的具体类型。class Animal { void makeSound() { System.out.println(The animal makes a sound); } } class Dog extends Animal { Override void makeSound() { System.out.println(The dog barks); } } class Cat extends Animal { Override void makeSound() { System.out.println(The cat meows); } } public class Main { public static void main(String[] args) { Animal myAnimal new Animal(); Animal myDog new Dog(); Animal myCat new Cat(); myAnimal.makeSound(); // Outputs The animal makes a sound myDog.makeSound(); // Outputs The dog barks myCat.makeSound(); // Outputs The cat meows } }于这个例子里头, 虽说myDog与myCat皆被声明作类型, 然而当我们去调用它们的()方法之际, 它们会去调用各自类的实现, 此乃多态的神奇魔力了。