1.为什么重写
重写就是重新改写。将一个已有事物进行某些改变以适应新的要求。在Java中则为子类在继承父类的方法时已经不能“准确描述子类自身的行为特征了”,故此时需要重写方法。
2.什么是重写
在Java中子类可以继承父类方法,但有时从父类继承的方法在子类中必须进行修改以适应新类的需要,这种对父类方法进行改写或改造的现象称为方法重写或方法覆盖。父类方法在子类中重写使继承更加灵活。
3.怎样重写
- 子类重写了父类的方法,则使用子类创建的对象调用该方法时,调用的是重写后的方法,即子类中的方法:
如下面的代码,我们先写出一个父类的方法:
public class Father extends Object{
public void eat() {
System.out.println("使用筷子吃饭......");
}
}
则在子类中重写时就有下面代码:
public class Student extends Father{
@Override
public void eat() {
System.out.println("使用刀叉吃饭......");
}
public static void main(String[] args) {
Student student=new Student();
student.eat();
}
需要注意的是,重写方法后的子类在上述代码运行时,运行结果是"使用刀叉吃饭......"
- 如果要在子类非static修饰的代码块或方法中调用父类被重写的方法可以通过super关键字实现: