在继承关系中,子类如果定义了一个与父类方法签名完全相同的方法,被称为覆写(Override)
加上@Override可以让编译器帮助检查是否进行了正确的覆写。
例如,在Person
类中,我们定义了run()
方法:
class Person {
public void run() {
System.out.println("Person.run");
}
}
在子类Student
中,覆写这个run()
方法:
class Student extends Person {
@Override
public void run() {
System.out.println("Student.run");
}
}
Override和Overload不同的是,如果方法签名如果不同,就是Overload,Overload方法是一个新方法;如果方法签名相同,并且返回值也相同,就是Override
总结:需要和父类方法一模一样,只是方法体不一样
原文:https://www.cnblogs.com/shenleg/p/14164249.html