方法覆写(Override):
方法覆写是指子类提供了与其父类中具有相同名称、参数类型和返回类型的方法。覆写是实现多态性的一种方式。
class Animal {
void makeSound() {
System.out.println("Some generic sound");
}
}
class Dog extends Animal {
// 子类覆写了父类的方法
void makeSound() {
System.out.println("Bark bark!");
}
}
public class OverrideExample {
public static void main(String[] args) {
// 创建子类对象
Dog myDog = new Dog();
// 调用子类覆写的方法
myDog.makeSound();
}
}
方法重载(Overload):
方法重载是指在同一个类中可以定义多个方法,它们具有相同的名称但参数列表不同(个数、类型或顺序)。重载是发生在同一个类中的。
class Calculator {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
// 不同的参数类型
int add(int a, int b, int c) {
return a + b + c;
}
}
public class OverloadExample {
public static void main(String[] args) {
Calculator myCalculator = new Calculator();
// 调用不同版本的方法
System.out.println(myCalculator.add(5, 3));
System.out.println(myCalculator.add(2.5, 3.5));
System.out.println(myCalculator.add(1, 2, 3));
}
}
总结:
- 覆写涉及到子类覆写父类的方法,具有相同的名称和签名(参数类型、个数和返回类型)。
- 重载涉及到同一个类中定义多个方法,具有相同的名称但参数列表不同。
这两者共同为Java提供了更灵活和强大的方法使用方式。
转载请注明出处:http://www.zyzy.cn/article/detail/13481/Java