JDK 1.5 1.6 override区别

今天在更新时发现有个别项目报错,报错信息

image

到网上搜索了之后,根据网上描述,修改了一批配置都不行:

http://bestchenwu.iteye.com/blog/997420(这个里面的方法二,即为我后面使用的办法)

http://blog.csdn.net/allenlinrui/article/details/5568817

http://blog.sina.com.cn/s/blog_6419bc670100i6hc.html

http://chen2337.blog.163.com/blog/static/34039920201041311718394/

最后问了一下同事,他说直接修改complier即可,

image

把上图中的1.5改成1.6后,再编译就没问题了,在Preferences里面设置所有项目的Compiler,所有项目异常都解决:

image

总结一下原因:

override(重写)这个关键字在1.5里面只能用于类的继承,不能用于接口的实现应该说算是1.5的一个bug,如果是类的继承,方法前面可加可不加,JVM在编译的时候会默认是重写(Eclipse默认给加上);但如果是接口的实现,也就是说只有方法声明,没有方法体,方法前不能加这个注解,一旦加上这个注解,编译器在编译的时候就会报错,如下图说明

image

但是在1.6中,修复了这个问题,即可以用于接口的实现也可以用于类的继承,所以在1.6中,继承或实现接口时,在方法前面加或者不加@Override都默认认为是重写,Eclipse默认会给加上

@Override,如下图说明

image

转载于:https://www.cnblogs.com/garinzhang/p/jdk_15_16_orverride_difference.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值