Woo*_*ung 71 java overriding annotations
public class NaiveAlien extends Alien
{
@Override
public void harvest(){}
}
Run Code Online (Sandbox Code Playgroud)
我试图理解我朋友的代码,但我没有在代码中获得语法@Override.这是做什么的,为什么我们需要编码?谢谢.
Ebo*_*ike 126
这是编译器的一个提示,让它知道你正在覆盖父类(或Java 6中的接口)的方法.
如果编译器检测到没有要覆盖的函数,它将警告您(或错误).
这对于快速识别拼写错误或API更改非常有用.假设你试图覆盖你的父类的方法,harvest()
但拼写它harvset()
,你的程序将默默地调用基类,没有@Override
,你就不会有任何警告.
同样,如果您正在使用库,并且在库的版本2中,harvest()
已经修改为采用整数参数,则不会再覆盖它.@Override
很快,会很快告诉你.
小智 27
此功能称为注释.@Override
是使用注释让编译器知道的语法,"嘿编译器,我正在改变父类中的收获",然后编译器可以立即说,"老兄,你错误地命名它".在您正确命名之前,编译器不会编译.
因此,如果没有这个@Override
注释,编译器将不会出错,它将被视为新的方法声明.此时很难识别错误.
归档时间: |
|
查看次数: |
89336 次 |
最近记录: |