@Override 的作用及报错处理

很简单,如果想重写父类的方法,比如toString()方法的话,在方法前面加上@Override  系统可以帮你检查方法的正确性, 
@Override 
public String toString(){...}这是正确的  
一旦写错 写成这样 
@Override 
public String tostring(){...}编译器可以检测出这种写法是错误的 这样能保证你的确重写的方法正确 
而如果不加@Override 

public String tostring(){...}这样编译器是不会报错的  它只会认为这是你自己新加的一个方法而已 


@Override的用法: 
Override: 
java.lang.Override是一个marker annotation类型,它被用作标注方法。它说明了被标注的方法重载了父类的方法,起到了断言的作用。如果我们使用了这种annotation在一个没有覆盖父类方法的方法时,java编译器将以一个编译错误来警示。 
这个annotaton常常在我们试图覆盖父类方法而确又写错了方法名时发挥威力。 
使用方法极其简单:在使用此annotation时只要在被修饰的方法前面加上@Override。 
下面的代码是一个使用@Override修饰一个企图重载父类的toString方法,而又存在拼写错误的sample: 
清单1: 
@Override public String toSting() {   // 注意方法名拼写错了    return "[" + super.toString() + "]";}


@Override报错

有时候在自己电脑上编译通过的java代码,在别人那里却编译不通过,总是@override报错,把@override去掉就好了,但不能从根本上解决问题。
据说这是jdk的问题,@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。
首先要确保安装了jdk 1.6,
然后,在eclipse中修改配置,在 Windows->Preferences-->java->Compiler-->compiler compliance level 中选择 1.6,
,刷新工程,重新编译下。
如果还是不行,就在报错的工程上,鼠标右键选择 Properties-->Java Compiler-->compiler compliance level 中选择 1.6,刷新工程,重新编译下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值