多态性是指一个方法或函数可以在不改变其声明的情况下,处理不同类型的对象,这意味着我们可以使用同一个方法来处理不同类型的数据类型,而不需要为每个数据类型编写单独的方法。
举个例子,假设我们要创建一个类Vehicle
,它有一个方法move()
,这个方法应该能够处理各种类型的车辆(如汽车、飞机、船只等),为了实现这一点,我们需要将move()
方法声明为抽象方法,并让子类重写它。
public abstract class Vehicle { public abstract void move(); }
我们创建两个具体的类Car
和Plane
,它们都继承自Vehicle
类,并重写了move()
方法。
public class Car extends Vehicle { @Override public void move() { System.out.println("Car is moving."); } } public class Plane extends Vehicle { @Override public void move() { System.out.println("Plane is flying."); } }
我们可以创建一个数组,存储多个Vehicle
对象,并调用move()
方法。
public class Main { public static void main(String[] args) { Vehicle[] vehicles = {new Car(), new Plane()}; for (Vehicle vehicle : vehicles) { vehicle.move(); } } }
运行这个程序,输出将会是:
Car is moving. Plane is flying.
通过这种方式,我们不仅实现了多态性,还使得代码更加灵活和可维护,多态性让我们能够更好地处理不同类型的数据类型,而不必为每个数据类型编写单独的方法。