在重写父类中某个方法时,子类必须撰写与父类方法同名的方法,如果打错字了,如下代码:
public class SwordsMan extends Role {
public void Fight () {
System.out.println(“挥剑攻击”);
}
}
此例中,父类定义的是fight,而子类中写的是Fight,这就不是重新定义fight了,而是新定义了一个Fight方法。当运行时,会发现,此方法没有正常执行。
JDK5之后支持标注(Annotation),其中一个内建的标准标注就是@Override。如果在子类的某方法前标注@Override,表示要求编译器检查程序,该方法是不是重写了父类中的方法,如果不是的话,编译器会报错。
所以,如果要重写某方法, 加上@Override,就不用担心打错字的问题了。