简单
技术面试0 次浏览

解释一下 Java 中的多态性。

后端工程师
JavaObject-Oriented

答题要点

多态性是面向对象编程的重要特性之一,在 Java 中主要通过继承和接口实现。多态性允许不同类的对象对同一消息做出不同的响应。它分为编译时多态和运行时多态。编译时多态主要通过方法重载实现,即一个类中可以有多个同名方法,但参数列表不同。例如,在一个类中可以定义多个名为 add 的方法,分别接收不同类型或数量的参数。在调用这些方法时,编译器会根据传入的参数类型和数量来确定调用哪个方法。运行时多态通过方法重写和向上转型实现。当子类继承父类并重写父类的方法时,父类的引用可以指向子类的对象。在运行时,根据实际对象的类型来调用相应的方法。例如,有一个父类 Animal 和子类 Dog、Cat,Animal 类有一个 bark 方法,Dog 和 Cat 类分别重写了该方法。当使用 Animal 类型的引用指向 Dog 或 Cat 对象时,调用 bark 方法会根据实际对象类型调用 Dog 或 Cat 类的 bark 方法。多态性提高了代码的可扩展性和可维护性。