多态的简单理解
子类的实例化对象用父类接受确实是多态(Polymorphism)的一种体现。在 Java 或其他支持面向对象编程的语言中,多态允许一个父类引用变量来引用一个子类的实例。这意味着父类类型的引用可以指向它的任何子类对象,而具体调用哪个类的方法则取决于对象的实际类型。
这种机制有几个关键的好处:
代码通用性:你可以编写通用的代码来处理父类类型的引用,而实际上它们可以指向任何合适的子类对象。
运行时绑定:在运行时,虚拟机(Virtual Machine)决定要调用哪个类的方法,基于对象实际引用的对象类型,而不是引用变量的类型。这被称为“后期绑定”或“动态方法分派”。
点击查看代码
class Animal {
void makeSound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark");
}
}
class Cat extends Animal {
@Override
void makeSound() {
System.out.println("Meow");
}
}
public class TestPolymorphism {
public static void main(String[] args) {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.makeSound(); // 输出 "Bark"
myCat.makeSound(); // 输出 "Meow"
}
}

浙公网安备 33010602011771号