阅读量:0
在Java中,重写(Override)方法是在子类中重新实现父类中的方法。为了重写一个方法,你需要遵循以下规则:
- 子类方法的访问权限不能比父类方法的访问权限更严格。例如,如果父类方法是
public
的,那么子类方法也必须是public
的。 - 子类方法的返回类型必须与父类方法的返回类型相同,或者是其子类型(协变返回类型)。
- 子类方法的方法签名必须与父类方法的方法签名完全相同,包括方法名、参数列表和异常列表。
- 子类方法不能抛出比父类方法更多的检查型异常。
以下是一个简单的示例,演示如何在子类中重写父类的方法:
// 父类 class Animal { void makeSound() { System.out.println("The animal makes a sound"); } } // 子类 class Dog extends Animal { // 重写父类的makeSound方法 @Override void makeSound() { System.out.println("The dog barks"); } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.makeSound(); // 输出:The dog barks } }
在这个例子中,Dog
类继承了Animal
类,并重写了makeSound
方法。当我们创建一个Dog
对象并调用makeSound
方法时,它将输出The dog barks
,而不是The animal makes a sound
。