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

在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方法。这就是多态的体现。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27