java中实现多态的机制是什么?
时间: 2024-09-19 08:01:04 浏览: 41
深入Java核心 Java中多态的实现机制编程资料
在Java中,实现多态主要是通过以下两个机制:
1. **继承**:子类继承父类,使得子类能够拥有父类的所有属性和方法。如果子类覆盖(重写)了父类的某个方法,那么当我们用父类型的引用去调用这个方法时,实际上会调用的是子类的方法,这就是方法的动态绑定,也称为晚期绑定。
```java
class Animal {
void makeSound() { System.out.println("Animal makes a sound"); }
}
class Dog extends Animal {
@Override
void makeSound() { System.out.println("Dog barks"); }
}
Animal animal = new Dog(); // 创建Dog对象并赋值给Animal类型的引用
animal.makeSound(); // 输出 "Dog barks"
```
2. **接口**:Java也支持接口多态,即一个类实现了多个接口,同样可以使用父接口的引用调用其中的方法。接口中的方法默认都是抽象的,需要在实现类中提供具体实现。
```java
interface Animal {
void makeSound();
}
class Dog implements Animal {
public void makeSound() {
System.out.println("Dog barks");
}
}
Animal myAnimal = new Dog(); // Animal接口引用指向Dog实例
myAnimal.makeSound(); // 输出 "Dog barks"
```
阅读全文