面向对象
方法重写
1 概念
在Java中,重写(Overriding)是指子类重新定义父类中已经存在的方法,方法名、参数列表和返回类型必须与父类中被重写的方法相同。通过重写,子类可以提供自己特定的实现。
2 作用
- 定制化行为: 子类可以根据自己的需求,提供对某个方法的个性化实现,即重写该方法。
- 多态性: 通过重写,可以实现多态性,即一个对象可以表现出多种形态,调用的是子类重写的方法。
3 语法
// 父类
class ParentClass {
// 父类的方法
public void someMethod() {
// 方法的具体实现
}
}
// 子类继承父类并重写方法
class ChildClass extends ParentClass {
// 子类重写父类的方法
@Override
public void someMethod() {
// 子类对方法的新实现
}
}
4 示例
父类和子类的定义:
// 定义父类
class Animal {
// 父类的方法
public void makeSound() {
System.out.println("Some generic sound");
}
}
// 定义子类,重写父类的方法
class Dog extends Animal {
// 子类重写父类的方法
@Override
public void makeSound() {
System.out.println("Woof! Woof!");
}
}
创建对象并调用方法:
public class Main {
public static void main(String[] args) {
// 创建父类对象
Animal genericAnimal = new Animal();
genericAnimal.makeSound(); // 调用父类方法
// 创建子类对象
Dog myDog = new Dog();
myDog.makeSound(); // 调用子类重写的方法
}
}
以上示例演示了子类Dog重写了父类Animal的makeSound方法,通过创建对象并调用方法,展示了重写的效果。通过重写,子类可以提供特定的实现,增加了代码的灵活性和可读性。