java多态方法重写是怎么实现的
时间: 2024-06-17 19:04:45 浏览: 25
Java多态性是面向对象编程中的一种重要特性,允许我们使用父类类型的引用变量来引用子类对象。方法重写(override)是多态性的一种实现方式,指子类可以覆盖父类的方法实现。
在Java中,当一个子类继承了一个父类并且覆盖了父类中的某个方法时,我们称这个子类实现了方法的重写。子类中的重写方法必须与父类中的被重写方法具有相同的方法名、参数列表和返回类型。此外,子类中的重写方法必须使用`@Override`注解标注,以便编译器能够检查该方法是否真正覆盖了父类中的方法。
下面是一个简单的例子:
```java
class Animal {
public void move() {
System.out.println("动物可以移动");
}
}
class Dog extends Animal {
@Override
public void move() {
System.out.println("狗可以跑和走");
}
}
public class TestDog {
public static void main(String args[]) {
Animal a = new Animal(); // Animal 对象
Animal b = new Dog(); // Dog 对象
a.move();// 执行 Animal 类的方法
b.move();//执行 Dog 类的方法
}
}
```
在上述代码中,`Dog`类继承了`Animal`类,并覆盖了其`move()`方法。当我们使用`Animal`类型的引用变量`a`来引用`Animal`对象时,调用的是`Animal`类中的`move()`方法;当我们使用`Animal`类型的引用变量`b`来引用`Dog`对象时,调用的是`Dog`类中重写后的`move()`方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)