java多线程编程,为什么声明class之后一定有一个@override? 在这里有什么用?

代码如下,请说明@override的作用
class Run implements Runnable{
@Override
public void run(){
for(int i=0; i<10; i++){
System.out,println("i="+1);
}}
}

@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1.可以当注释用,方便阅读
2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错

比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法)

使用该标记是为了增强程序在编译时候的检查,如果该方法并不是一个覆盖父类的方法,在编译时编译器就会报告错误。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-17
@Override是伪代码,表示重写(当然不写也可以)
建议写上,有如下好处:
1、可以当注释用,方便阅读;
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错,比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法)。
第2个回答  2015-09-17
重写接口,实现接口Runnable的run()方法。实现接口都必须实现接口内定义的方法。
@override的作用就是让方法在调用时使用子类或实现类的方法,而不是父类的方法
相似回答