java怎么实现多态
时间: 2024-08-13 14:05:49 浏览: 59
在Java中,多态是面向对象编程的一个核心概念,它允许我们使用父类引用调用子类的方法或变量,实现代码的灵活性和扩展性。以下是Java中实现多态的方式:
1. **方法重写(Overriding)**:如果一个子类继承自一个父类,并且提供了与父类同名、相同参数列表、返回类型的方法,那么这个子类就覆盖了父类的该方法。这就是动态多态的基础,通过运行时确定实际执行的方法。
```java
class Animal {
public void sound() {
System.out.println("Animal makes a sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}
```
2. **接口实现(Implementation with Interfaces)**:当一个类实现了多个接口,每个接口都有相同名称的方法,那么这些方法也会被实现。这同样体现了多态性,因为我们可以使用该类引用调用这些接口中的方法。
```java
interface SoundMaker {
void makeSound();
}
class Bird implements SoundMaker {
@Override
public void makeSound() {
System.out.println("Bird chirps");
}
}
```
3. **抽象类(Abstract Classes)和抽象方法(Abstract Methods)**:抽象类可以包含抽象方法,其子类必须实现这些方法才能实例化。同样地,父类引用可以指向实现了抽象类的子类对象。
```java
abstract class Animal {
abstract void sound();
}
class Mammal extends Animal {
@Override
public void sound() {
System.out.println("Mammal makes a sound");
}
}
```
阅读全文