HTML5培训-高端面授HTML5培训机构
云和教育:云和数据集团高端IT职业教育品牌
  • 华为
    授权培训中心
  • 腾讯云
    一级认证培训中心
  • 百度营销大学
    豫陕深授权运营中心
  • Oracle甲骨文
    OAEP中心
  • Microsoft Azure
    微软云合作伙伴
  • Unity公司
    战略合作伙伴
  • 普华基础软件
    战略合作伙伴
  • 新开普(股票代码300248)
    旗下丹诚开普投资
  • 中国互联网百强企业锐之旗
    旗下锐旗资本投资

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

  • 发布时间:
    2023-05-19
  • 版权所有:
    云和教育
  • 分享:

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方法。这就是多态的体现。