首页常见问题正文

Java中实现多态的机制是什么?

更新时间:2023-05-11 来源:黑马程序员 浏览量:

IT培训班

  在Java中,多态的机制是通过继承和方法重写来实现的。具体来说,当一个子类继承自一个父类并重写了父类的方法时,当使用父类类型的变量来调用这个方法时,实际上会调用子类中重写后的方法。这种行为被称为动态方法分派,是实现多态的核心机制之一。

  以下是一个简单的Java代码演示多态的例子:

class Animal {
    public void makeSound() {
        System.out.println("The animal makes a sound");
    }
}

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("The dog barks");
    }
}

class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("The cat meows");
    }
}

public class PolymorphismExample {
    public static void main(String[] args) {
        Animal animal1 = new Animal();
        Animal animal2 = new Dog();
        Animal animal3 = new Cat();
        
        animal1.makeSound();
        animal2.makeSound();
        animal3.makeSound();
    }
}

  在这个例子中,Animal是父类,而Dog和Cat是继承自Animal的子类。在子类中,我们重写了makeSound方法,并提供了不同的实现。

  在main方法中,我们创建了三个Animal类型的对象,并分别用它们来调用makeSound方法。其中,animal1是Animal类型的对象,所以调用makeSound方法时会执行Animal类中的makeSound方法。animal2和animal3都是Animal类型的变量,但是它们所引用的对象是Dog和Cat类型的对象,因此调用makeSound方法时会执行这些子类中重写后的makeSound方法。这就是多态的体现。

分享到:
在线咨询 我要报名
和我们在线交谈!