什么是多态 如何使用?
时间: 2023-08-14 14:05:04 浏览: 102
多态是面向对象编程中的一种特性,指的是同一种类型的对象,在不同的情况下具有不同的表现形式和行为。在 Java 中,多态是通过继承、接口和方法重写等机制实现的。
具体来说,多态包括两种形式:编译时多态和运行时多态。编译时多态是指在编译时就能确定对象的类型,例如静态类型检查和方法重载等;而运行时多态是指在运行时才能确定对象的类型,例如动态绑定和方法重写等。
在 Java 中,多态可以通过继承和方法重写来实现。当子类继承父类时,可以重写父类的方法,并且在子类中可以用父类的引用来引用子类的对象,这样就可以根据实际的对象类型动态地调用相应的方法,实现运行时多态。
下面是一个使用多态的示例代码:
```java
class Animal {
public void move() {
System.out.println("Animal is moving.");
}
}
class Dog extends Animal {
@Override
public void move() {
System.out.println("Dog is running.");
}
}
class Cat extends Animal {
@Override
public void move() {
System.out.println("Cat is jumping.");
}
}
public class Test {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.move(); // 输出:Dog is running.
animal2.move(); // 输出:Cat is jumping.
}
}
```
在上面的代码中,Animal 是父类,Dog 和 Cat 是继承自 Animal 的子类。在 main 方法中,分别用 Animal 类型的引用来引用 Dog 和 Cat 的对象,并调用它们的 move 方法。由于 Dog 和 Cat 重写了 Animal 的 move 方法,所以在运行时会根据实际的对象类型动态地调用相应的方法,输出不同的结果。这就是运行时多态的实现方式。
阅读全文