java面试题07什么是多态?

多态(Polymorphism) 是面向对象编程(OOP)的三大核心特性之一(封装、继承、多态)。它允许不同类的对象对同一消息(方法调用)做出不同的响应,实现了“一个接口,多种实现”。

多态的核心本质

用父类/接口的引用操作子类/实现类的对象,在运行时根据实际对象类型动态决定调用哪个具体实现。


多态的实现条件

  1. 继承关系:存在父子类继承(或接口实现关系)
  2. 方法重写:子类重写父类的方法
  3. 向上转型:父类引用指向子类对象
    Parent obj = new Child();

多态示例(Java)

// 父类
class Animal {
   
   
    public void makeSound() {
   
   
        System.out.println("Animal makes a sound");
    }
}

// 子类1
class Dog extends Animal {
   
   
    @Override
    public void makeSound() {
   
     // 方法重写
        System.out.println("Dog barks: Woof!");
    }
}

// 子类2
class Cat extends Animal {
   
   
    @Override
    public void makeSound() {
   
     // 方法重写
        System.out.println("Cat meows: Meow!");
    }
}

public class Main {
   
   
    public static void main(String[] args) {
   
   
        // 多态的核心:父类引用指向子类对象
        Animal animal1 = new Dog();  // 向上转型
        Animal animal2 = new Cat();  // 向上转型
        
        animal1.makeSound();  // 输出: Dog barks: Woof!
        animal2.makeSound

你可能感兴趣的:(java,开发语言)