java重写
时间: 2023-08-22 16:05:50 浏览: 106
Java中的重写指的是子类重新实现了父类中已有的方法,方法名、参数列表和返回值类型必须与父类中的方法完全一致。重写的目的是为了实现多态性,让子类对象可以在运行时动态地调用其父类中已有的方法。
在重写方法时,需要注意以下几点:
1. 访问修饰符不能缩小:重写的方法不能将父类方法的访问修饰符缩小,即不能由public变成protected或private。
2. 返回类型要一致:重写的方法返回类型必须与父类方法的返回类型一致,或者是其子类。
3. 参数列表必须一致:重写的方法的参数列表必须与父类方法的参数列表一致。
4. 抛出的异常不能更多:重写的方法抛出的异常不能比父类方法抛出的异常更多,可以比父类方法抛出更少或者不抛出异常。
下面是一个重写的示例代码:
```java
class Animal {
public void move() {
System.out.println("Animal can move");
}
}
class Dog extends Animal {
@Override
public void move() {
System.out.println("Dog can run and walk");
}
}
public class Test {
public static void main(String[] args) {
Animal a = new Animal();
Animal b = new Dog();
a.move(); // 输出 "Animal can move"
b.move(); // 输出 "Dog can run and walk"
}
}
```
在上面的代码中,Animal类中有一个move方法,它被子类Dog重写了。在main方法中,通过Animal类创建了一个Animal对象a和一个Dog对象b,分别调用它们的move方法,输出了不同的结果。
阅读全文