JDK1.5与1.6在Override上的区别

@Override是JDK5 就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 
而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override 
我想这个问题肯定困扰了很多人,我也不例外。新公司用的东西多多少少会与我们以前公司的有所不同。所以这个问题也时常伴随在我们身边。 
第一种解决方案: 
@Override是JDK5 就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override 
修改你的eclipse指定的编译器版本 
在选项里的java compiler中指定版本至少在5.0以上 
在myEclipse中改变编译器的方法:Project->Properties->Java Compiler->Configure Workspace Setting,在弹出的页面中可以进行设置。 
这个来自于:http://blog.csdn.net/CodeJoker/archive/2009/07/02/4317361.aspx

第二种解决方案:(我使用这种方法,没有问题) 
在JAVA 1.5和1.6中@override的用法是有些区别的,虽然改变了JRE但eclipse还是会报错。 
解决办法:Windows->Preferences-->java->Compiler-->compiler compliance level设置成6.0就OK了. 
注意: 
但是在导入一个工程时,编译并打包到Tomcat后,发现出现java.lang.UnsupportedClassVersionError: Bad version number in .class file异常,检查了一下我的myEclipse,我发现我的eclipse的compiler的jdk版本,tomcat所用的jdk版本不一致,后来设置成一致就可以了。看来果然是这个问题引起。 
    那次在Linux上部署工程时也出现过因为版本不同引起的问题,那时我们用的IDE的编译器是JDK5.0,而那台Linux装的是JDK6.0,部署后发现很多功能都出错,看来有些东西还是注意一下啊。 
    附,在myEclipse中改变编译器的方法:Project->Proper的ties->Java Compiler->Configure Workspace Setting,在弹出的页面中可以进行设置

其实这种方式与第二种差不多,殊途同归。第一种方式重点是设置这一个项目。而第二种重点设置所以项目。不过都可以用。

时间: 2024-11-08 19:07:02

JDK1.5与1.6在Override上的区别的相关文章

理解BPDU Guard的意义(BPDU Guard在全局配置与接口配置上的区别)

理解BPDU Guard的意义(BPDU Guard在全局配置与接口配置上的区别)   本文截自于博主CCNP交换技术稿件内容   BPDU Guard(BPDU保护),简单的讲它的意义就是一个不该接收BPDU的端口,比如被启动了portfast的端口,一旦收到BPDU报文,那么BPDU保护功能将会立即关闭该端口,并将端口状态置为error-disabled状态.BPDU Guard的配置分为全局型的配置和接口级的配置,注意这两种配置将带来一些不同的效果. 全局配置BPDU Guard 全局配置

VC和gcc在保证函数static变量线程安全性上的区别

VC和gcc不同,不能保证静态变量的线程安全性.这就给我们的程序带来了很大的安全隐患和诸多不便.这一点应该引起我们的重视!尤其是在构造函数耗时比较长的时候,很可能给程序带来意想不到的结果.本文从测试代码开始,逐步分析原理,最后给出解决方案. 多线程状态下,VC不能保证在使用函数的静态变量的时候,它的构造函数已经被执行完毕,下面是一段测试代码: class TestStatic { public: TestStatic() { Sleep(1000*10); m_num = 999; } publ

引用类型与值类型在编码上的区别

一.引入类型与值类型简介 值类型:直接存放于栈中,取的时候是直接取得值.值类型继承自System.ValueType.(自定义对象) 引用类型:存在于托管堆中,取的时候取的是该对象的地址,然后用这个地址去托管堆中取值.引用类型继承自System.Object.(int,bool) 二.在代码编写上的区别 在赋值的时候,值类型是复制一份,新的和旧的在以后的操作中互不影响,而引用类型复制的只是地址,在以后的修改中,修改新的旧的也会受到影响. 代码示例: static void Main(string

Odoo9以后的社区版本和企业版功能上的区别

Odoo9以后的社区版本和企业版除了授权模式的区别外,整理功能上的区别 透过功能设置菜单整理的区别如下,主要功能模块. 未包括所有模块,毕竟模块太多了. 以下是企业版有,而社区版没有的功能.

AndroidStudio2.2 Preview3中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别(转载)

自从AndroidStudio更新到2.2,就有了CMake和传统JNI两种开发NDK的方法,主要就是在目录结构和build.gradle上的区别,下面我们将分别介绍目录区别和build.gradle种配置的区别(提示:在第一次用CMake时,最好在新建项目时勾选Include C++ Support,这样这个项目的NDK开发就是CMake方式,这估计也是Android以后主推的方式,建好项目,熟悉CMake方式的目录结构,这样对以后建普通项目再转CMake开发NDK有很大帮助,后面会讲到普通项

BPDU Filtering的意义(BPDU Filtering在全局配置与接口配置上的区别)

理解并演示:BPDU Filtering的意义(BPDU Filtering在全局配置与接口配置上的区别) 目标:理解BPDU Filtering的意义(BPDU Filtering在全局配置与接口配置上的区别) 取证:测试BPDU Filtering在全局模式下的配置效果 测试BPDUFiltering在接口模式下的配置效果 一个有趣的现象:全局启动BPUD过滤,有某个时候会有少量的BPDU报文被发送.   理解BPDU Filtering的意义(BPDU Filtering在全局配置与接口配

蔡先生论道大数据之四, 中国公司和国外公司在大数据应用上的区别

国内互联网企业大数据的布局虽然略迟于国外,但从规模和投入上不容小觑.国内外在此领域的建设基本同步,体现在以下三个方面:第一,国外.国内大型互联网企业对大数据布局都加大投入规模,不仅是物理存储设备和处理能力的建设,也加强了分析工具的开发与分析人才队伍建设:第二,它们都在思考如何用足.用好大数据,期待从数据中挖掘潜在的巨大价值,使其为企业自身.用户和第三方带来便利与收益:第三,它们赋予大数据在数据之外的意义,都将大数据作为企业向其他领域延伸.转型的机会. 但是,限于国内外互联网发展水平.视野和其他产

nodejs学习笔记_nodejs和PHP在基础架构上的区别--共享状态的并发

绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明白node内部做出的权衡,以及node应用性能好的原因. node 为javascript引入了一个复杂的概念,:共享状态的并发. node采用一个长期运行的进程 而php在apache中会产生多个进程 如下图所示: 代码验证: PHP: <?php $i = 0; $i++; echo $i nodejs: var http = require('http'); var i=0; http.createSer

iPhone与iPad在开发上的区别

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute