多次在将Eclipse编译环境从JDK6换到JDK5的时候,在JDK6下面写的@Override 几乎都要报错。百思不得其解。
网上找了找,终于发现原因了:)
@Override 是JDK5引入的,描述如下:
Indicates that a method declaration is intended to override a method declaration in a superclass. If a method is annotated with this annotation type but does not override a superclass method, compilers are required to generate an error message.
在JDK6文档中的描述是一模一样!但是真正的麻烦就出在superclass 的理解上!JDK5认为Override重载是覆盖父类方法,而JDK6则将覆盖父类方法与实现接口方法,都定义为Override superclass。 因此只要是实现接口方法的地方写了@Override,JDK5都会报错
个人感觉JDK5的@Override可能是设计时候的bug吧:) 因为感觉JDK6的理解比较正确。
分享到:
相关推荐
《全中文Java-Jdk-1.8api参考手册》是一个为Java开发人员量身定制的资源,涵盖了Java Development Kit (JDK) 1.8版本的完整API文档。这个手册是程序员日常学习和工作中不可或缺的工具,它详细阐述了Java语言的各个...
5. **反射机制**:Java反射API在JDK1.6中得到了强化,允许程序在运行时动态地获取类的信息并操作类的对象,为元编程提供了可能。 6. **枚举类型**:JDK1.6支持枚举类型,这是一种安全的常量表示方式,可以避免枚举...
Lambda表达式是JDK8中最显著的新特性之一,它简化了对匿名函数的处理,尤其是对于那些只需要一次性的、简单的功能实现。Lambda表达式语法简洁,使得代码更易读、更易于维护。以下是一个简单的例子: ```java // ...
5. **重复注解**:JDK8允许在同一个元素上应用多个相同的注解,这对于元注解的组合非常有用,比如同时使用@NonNull和@Override。 6. **Stream API**:Stream API提供了处理集合的新方式,可以进行过滤、映射、分组...
o JDK 5 or JDK 6 (JRE alone is not sufficient) o Android Development Tools plugin (optional) o Not Not Not Not compatible with Gnu Compiler for Java (gcj) Other development environments or IDEs o JDK ...
### JDK 1.5 与 JDK 1.6 的区别 #### 一、增强的 For 循环 在 Java 1.5 中引入了增强的 for 循环,也被称为 foreach 循环,用于简化遍历集合和数组的过程。这种循环提供了一种更加简洁和易于阅读的语法。 ##### ...
**JDK 1.6 帮助手册详解** JDK 1.6,全称为Java Development Kit 1.6,是Oracle公司发布的用于开发Java应用程序的重要工具集。这个版本的JDK包含了编译器、Java虚拟机(JVM)、调试工具和其他一系列辅助工具,为...
- JDK 1.6引入了注解,如@Override、@Deprecated等,用于元数据注解,提供编译期和运行期的代码处理。 7. **国际化(i18n)与本地化(l10n)** - **java.util.Locale**: 用于处理不同地区语言和文化习惯的对象。 ...
7. **注解(Annotation)**:JDK 1.6引入了元数据的概念,允许在代码中添加信息,供编译器或运行时环境使用,如`@Override`、`@Deprecated`等。 8. **国际化(i18n)**:`java.text`和`java.util.Locale`支持多种...
在Java世界中,JDK8是一个重要的里程碑,因为它引入了许多创新特性和改进,极大地提升了开发效率。其中最引人注目的特性之一就是Lambda表达式,它是对函数式编程思想的一种实现。函数式编程强调的是“做什么”而非...
### JDK 15 版本的方法功能详解 #### Text Blocks 特性介绍 在 Java 开发过程中,处理复杂的字符串常量往往需要大量的转义字符,尤其是对于 HTML、XML 或 JSON 等格式的字符串,这使得代码变得冗长且不易维护。...
[Y/n] y 获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/main libencode-locale-perl all 1.03-1 [12.4 kB] 获取:2 http://cn.archive.ubuntu.com/ubuntu/ trusty/main libhttp-date-perl all 6.02-1 [10.4...
11. **国际化(Internationalization, i18n)与本地化(Localization, l10n)**:Java提供了丰富的类和API支持多语言环境,使得程序能够适应不同地区的语言和文化习惯。 12. **数据库连接(JDBC)**:Java的JDBC ...
[Y/n] y 获取:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/main libencode-locale-perl all 1.03-1 [12.4 kB] 获取:2 http://cn.archive.ubuntu.com/ubuntu/ trusty/main libhttp-date-perl all 6.02-1 [10.4...
Accessibility Drag n Drop Input Methods Image I/O Print Service Sound Java SE API Integration Libraries IDL JDBCTM JNDITM RMI RMI-IIOP Scripting Other Base Libraries Beans Intl Support I/O JMX ...
- `{n,m}`:至少n次,至多m次。 ### 其他知识点 #### 枚举类型 - `Enum`是一种特殊的类,用于定义一组固定常量集合。 - 枚举类型的元素可以通过`values()`方法获取。 #### 集合框架 - `HashMap`是一种键值对存储...
这份JDK_API中文版文档对于学习和掌握Java编程至关重要,它能帮助开发者快速查找和理解类库的使用方法,解决编程过程中遇到的问题。在实际工作中,应经常查阅和参考,以深化对Java的理解和应用。
- C#和Java都支持枚举,但Java的枚举是在JDK 5之后引入的。 12. **属性(attribute)**: - C#使用`attribute`来标记元数据,Java使用注解(annotation)实现类似功能。 13. **泛型**: - 两者的泛型机制类似,...
在开始集成前,确保你的开发环境已经配置好Java Development Kit (JDK)、Android Studio、Android SDK以及Gradle。你也需要安装Node.js和npm,因为React Native的构建依赖它们。 2. **添加React Native依赖** ...