提示编译器让它知道您正在重写父类的方法(或Java 6中的接口)。
如果编译器检测到没有要覆盖的函数,它将警告您(或错误)。
这对于快速识别输入错误或API更改非常有用。假设您尝试覆盖父类的方法
harvest()但将其拼写
harvset(),则程序将以静默方式调用基类,而如果没有
@Override,则不会对此发出任何警告。
同样,如果您使用的是库,并且在库的版本2中
harvest()已被修改为采用整数参数,则不再覆盖它。再次,
@Override会很快告诉你。

提示编译器让它知道您正在重写父类的方法(或Java 6中的接口)。
如果编译器检测到没有要覆盖的函数,它将警告您(或错误)。
这对于快速识别输入错误或API更改非常有用。假设您尝试覆盖父类的方法
harvest()但将其拼写
harvset(),则程序将以静默方式调用基类,而如果没有
@Override,则不会对此发出任何警告。
同样,如果您使用的是库,并且在库的版本2中
harvest()已被修改为采用整数参数,则不再覆盖它。再次,
@Override会很快告诉你。