方法重载和重写的区别
时间: 2024-06-16 21:04:20 浏览: 131
方法重载和方法重写(覆盖)是面向对象编程中的两个重要概念,它们有以下区别[^1][^2]:
方法重载:
- 定义:在同一个类中,可以有多个方法拥有相同的名称,但是参数列表不同。
- 规则:方法重载的规则是参数列表必须不同,包括参数的类型、个数或顺序。
- 作用:方法重载可以提高代码的可读性和灵活性,方便根据不同的参数类型或个数来调用不同的方法。
方法重写(覆盖):
- 定义:子类可以对父类中的方法进行重新定义,以适应子类的特定需求。
- 规则:方法重写的规则是子类的重写方法必须与父类的被重写方法具有相同的名称、参数列表和返回类型。
- 作用:方法重写可以实现多态性,即通过父类引用调用子类的方法,提高代码的灵活性和可扩展性。
范例:
```java
// 方法重载
public class OverloadExample {
public void print(int num) {
System.out.println("Printing integer: " + num);
}
public void print(String str) {
System.out.println("Printing string: " + str);
}
}
// 方法重写
public class OverrideExample {
public class Animal {
public void sound() {
System.out.println("Animal makes sound");
}
}
public class Dog extends Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}
}
```
阅读全文