- 什么是重载(Overload)和重写(Override)?有什么区别?
重载(Overload):同一类中,方法名相同但参数列表不同(参数类型、个数、顺序不同),与返回值无关。
重写(Override):子类继承父类后,对父类的方法进行重新实现,方法名和参数列表必须完全相同,返回值类型兼容。
// 重载示例
class OverloadExample {
// 方法1:两个int参数
public int add(int a, int b) {
return a + b;
}
// 方法2:三个int参数(参数个数不同)
public int add(int a, int b, int c) {
return a + b + c;
}
// 方法3:两个double参数(参数类型不同)
public double add(double a, double b) {
return a + b;
}
}
// 重写示例
class Animal {
public void makeSound() {
System.out.println("动物发出声音");
}
}
class Dog extends Animal {
// 重写父类方法
@Override
public void makeSound() {
System.out.println("狗汪汪叫");
}
}