重载(Overload):
- 重载是指在同一个类中,允许存在多个同名方法,但这些方法的参数列表不同(参数类型、参数个数或参数顺序不同)。
- 重载的方法具有相同的方法名,但是参数列表不同,通过参数列表的不同来区分方法的调用。
示例:
public class OverloadExample {
public void printMessage(String message) {
System.out.println(message);
}
public void printMessage(int num) {
System.out.println("Number: " + num);
}
}
重写(Override):
- 重写是指子类重新定义父类中已有的方法,子类中的方法名、参数列表和返回类型必须与父类中的方法完全一致。
- 通过重写,子类可以根据自身的需求来重新实现父类中的方法,实现方法的多态性。
示例:
class Animal {
public void makeSound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Bark");
}
}
总结:
- 重载是在一个类中,方法名相同但参数列表不同,用于实现方法的多态性;
- 重写是子类重新定义父类中已有的方法,用于实现继承时的多态性。
重载和重写在Java编程中经常被使用,它们分别提供了方法的多态性和继承时的多态性。