遇到这个问题说来也怪.新开了一个path的工作空间用来打patch.该Eclipse的默认全局的编译版本是1.6.但是唯独其中的一个插件项目的版本是1.5(可能是唯一的一个,不确定,不知道为什么会是这样)

然后这个插件中编译错误,该编译错误就是这个Override注解的使用.

一开始秉承同事告诉我的"只要保证全局Eclipse编译版本是1.6就可以",具体的插件版本如果不同不需要修改的原则.打patch,通过产品测试之后发现.如果不解决下面关于Override的问题就会报在编译中报出的bug.(具体的异常信息就是使用了Override但是父类中却没有对应的方法.)

通过这个问题也可以知道如果对应的java文件有编译错误的话是不能打用其class文件进行打patch的.

Override注解既可以用在实现类对其父类方法的重写,也可以用于实现类对其实现接口中方法的重写.

但是在JDK1.6之前如果在实现接口的方法上部加上@Override注解的话,Eclipse编译是会报错的.

JDK1.5: 
当继承一个类,并对其中的方法重写的时,需要加这个注释。 实现接口的时候不能加,加上Eclipse编译报错。

JDK1.6: 
继承类重写方法,或者实现接口的时候,都会带上@Override

只是开发中发现的,没有看到官方文档对此的说明.

附图:

&

如果把编译环境变成1.6+就没有改问题了.

//==================================================================

看书之后补充:

在Java1.5版本上编译代码就会出现如下错误:

The method *****() of type **** must override a superclass method ****.java

注意,这是个错误,不能继续编译,原因是1.5版本中的@Override是严格遵守覆写的定义:子类方法与父类方法必须具有相同的方法名,输入参数,输出参数(允许子类缩小),访问权限(允许子类扩大),父类必须是一个类,不能是一个接口,否则不能算是覆写.

而在Java1.6就开放了很多,实现接口的方法也可以加上@Override注解了,可以避免粗心大意导致方法名称与接口不一致的情况发生.

在多环境部署应用时,需要考虑@Override在不同版本下代表的意义,如果是Java1.6版本移植到1.5版本环境中,就需要删除实现接口方法上的@Override注解.

关于Override在JDK1.5和JDK1.6上子类实现接口中方法使用@Override注解编译错误.的更多相关文章

  1. 20220727-Java中方法重写override

    目录 代码示例 注意事项 代码示例 public class OverrideExercise { public static void main(String[] args) { Person ja ...

  2. jdk1.8 接口default方法

    jdk1.8 版本新增了一些特性,与之前版本差异相对.若不清楚地话,在使用过程中会产生很大的疑问. 本次介绍的是interface接口中方法的特殊性. 在以前jdk版本在接口中是只允许定义方法方法名, ...

  3. jdk1.7和jdk1.8在接口方面的改动

    1.JDK7及其之前,接口中都是抽象方法,且不能出现static方法 2.接口的变量都是public final static 全局静态常量,无变化 3.接口中可以添加非抽象方法(static),通过 ...

  4. 解决remove @override annotation(jdk1.5和jdk1.6)

    在@override注释在jdk1.5环境下只能用于对继承的类的方法的重写,而不能用于对实现的接口中的方法的实现. 解决方法: 删除 @override

  5. 【JDK1.8】JDK1.8集合源码阅读——TreeMap(一)

    一.前言 在前面两篇随笔中,我们提到过,当HashMap的桶过大的时候,会自动将链表转化成红黑树结构,当时一笔带过,因为我们将留在本章中,针对TreeMap进行详细的了解. 二.TreeMap的继承关 ...

  6. jdk1.7和jdk1.8区别

    转自:http://www.2cto.com/kf/201307/225968.html 本文是我学习了解了jdk7和jdk8的一些新特性的一些资料,有兴趣的大家可以浏览下下面的内容. 官方文档:ht ...

  7. jdk1.8新特性之接口default方法

    众所周知,default是java的关键字之一,使用场景是配合switch关键字用于条件分支的默认项.但自从java的jdk1.8横空出世以后,它就被赋予了另一项很酷的能力——在接口中定义非抽象方法. ...

  8. 牛客网Java刷题知识点之HashMap的实现原理、HashMap的存储结构、HashMap在JDK1.6、JDK1.7、JDK1.8之间的差异以及带来的性能影响

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  9. 【转】ubuntu 配置 java jdk1.8 环境,增加多版本 jdk 和切换方法

    一.安装java jdk1.8 1.添加软件源 sudo add-apt-repository ppa:webupd8team/java 2.更新软件源 sudo apt-get update 3.安 ...

随机推荐

  1. 软件工程个人作业——Agile Software Development读后感

    昨天利用了半天的时间看了下老师给的网页下的8篇文章和一段宣言,将感悟整理为下面的一篇博客. 首先先介绍一下这个网页.记得我们上学期上过一门课叫做面向对象建模方法,在这门课上刘超老师极力推荐的一本教材— ...

  2. PD16 Generate Datebase For Sql2008R2时报脚本错误“对象名sysproperties无效”

    PowerDesinger16创建数据库表到SQL2008R2时,执行报"对象名sysproperties无效"错误. 主要是在建模时我们对表.列增加了些说明注释,而Sql2005 ...

  3. 亲和串(HDU2203)

    http://acm.hdu.edu.cn/showproblem.php?pid=2203 题目意思很简单,求s1串所构成的环中是否有s2这个串 用CMP参考http://s.acmore.net/ ...

  4. FOR XML PATH的用法

    USE [ChangHongWMS612]GO/****** Object: StoredProcedure [dbo].[st_WMS_SelStockInBillList] Script Date ...

  5. Chrome Apps将可以打包成iOS或Android应用

    Chrome Apps 将可以在 iOS 和 Android 设备上独立运行了.开发者只要使用 Google今天 提供的工具集(toolchain)将自己的 Web App 打包,并将生成的应用上传到 ...

  6. UOJ #148. 【NOIP2015】跳石头 二分

    #148. [NOIP2015]跳石头 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/148 Descripti ...

  7. [原]生产环境下的nginx.conf配置文件(多虚拟主机)

    [原]生产环境下的nginx.conf配置文件(多虚拟主机) 2013-12-27阅读110 评论0 我的生产环境下的nginx.conf配置文件,做了虚拟主机设置的,大家可以根据需求更改,下载即可在 ...

  8. 判断IE中iframe完美加载完毕的方法

    转: var iframe = document.createElement("iframe"); iframe.src = "http://www.planabc.ne ...

  9. PHP 更高效的字符长度判断方法(转)

    今天看到有人说,在做字符串长度判断的时候,有个比strlen效率更高的方法.即: $str = ‘aaaaaa’; ) VS }) 晚上自己用例子简单测试下,情况基本属实,特此记录下.后者效率几乎是前 ...

  10. Zend Studio / Ecliplse插件StartExplorer

    Install site.zip (quick and simple way) Locate zip file under site\target in Project Explorer, Start ...