jdk1.5和jdk1.6对于@override支持的区别

在基类中声明的方法,在继承类中实现的话可以用@Override进行标注。1.5和1.6均正常。但@Override注释在jdk1.5环境下只能用于对继承的类的方法的重写,而不能用于对实现的接口中的方法的实现。

public interface StudentVS
{
 public void saveStudent(Student s);
}

public class StudentVSImpl implements StudentVS
{
 @Override
 public void saveStudent(Student s)
 {
  ..........
 }
}

上述代码在1.5中会报错,而在1.6中不会。所以建议不要加,因为同一项目用不同版本的jdk编译,加上@Override会使用1.5编译的人出错。

 

 

时间: 2024-10-30 05:21:24

jdk1.5和jdk1.6对于@override支持的区别的相关文章

《.NET程序员面试秘笈》----面试题8 方法的重载和override有什么区别

面试题8 方法的重载和override有什么区别 .NET程序员面试秘笈[考点]对类体内函数的深刻理解,对重载机制的应用,对override的理解. [出现频率] [解答] 方法的重载和重写容易被混淆,重载是方法的名称相同,函数签名不同,进行多次重载以适应不同的需要.而重写(override)是进行基类中函数的扩展或改写,其签名必须与被重写函数保持一致. 本例通过多种不同形式的构造函数创建实例,并输出初始化的结果.在ch01目录下新建一个程序文件,并命名为Override.cs,编写代码如程序1

C++中overload,override,overwrite的区别详细解析_C 语言

Overload(重载):在C++程序中,可以将语义.功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型.顺序不同),即函数重载.(1)相同的范围(在同一个类中):(2)函数名字相同:(3)参数不同:(4)virtual 关键字可有可无. Override(覆盖):是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类):(2)函数名字相同:(3)参数相同:(4)基类函数必须有virtual 关键字. Overwrite(重写):是指派生类的函数屏蔽了与其同名的

weblogic那个版本支持jdk1.6?

问题描述 weblogic那个版本支持jdk1.6?jdk1.6开发的项目是否可以部署到weblogic9上去?可以的话,大概如何部署? 解决方案 解决方案二:WLS9只支持JDK5.0解决方案三:weblogic10g3解决方案四:也许10以上的吧,没有用过那么高的解决方案五:WebLogic11g才支持JDK6.0吧解决方案六:WebLogic10.3支持JDK6.0解决方案七:WebLogic10.3解决方案八:weblogic9.0只支持到5.0在6.0下开发的不能部署到9.0上解决方案

java-并发-ConcurrentHashMap高并发机制-jdk1.8

JDK8的版本,与JDK6的版本有很大的差异.实现线程安全的思想也已经完全变了,它摒弃了Segment(锁段)的概念,而是启用了一种全新的方式实现,利用CAS算法.它沿用了与它同时期的HashMap版本的思想,底层依然由"数组"+链表+红黑树的方式思想,但是为了做到并发,又增加了很多辅助的类,例如TreeBin,Traverser等对象内部类.CAS算法实现无锁化的修改值的操作,他可以大大降低锁代理的性能消耗.这个算法的基本思想就是不断地去比较当前内存中的变量值与你指定的一个变量值是否

Java JDK1.5、1.6、1.7新特性整理_java

一.Java JDK1.5的新特性 1.泛型: List<String> strs = new ArrayList<String>();//给集合指定存入类型,上面这个集合在存入数据的时候必须存入String类型的数据,否则编译器会报错 2.for-each 例如上面这个集合我们可以通过for-each遍历,这样更加简单清晰 for(String s : strs){ System.out.println(s); } 注意:使用for-each遍历集合时,要遍历的集合必须实现了It

Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进(转)

一.简单回顾ConcurrentHashMap在jdk1.7中的设计 先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示: 每一个segment都是一个HashEntry<K,V>[] table, table中的每一个元素本质上都是一个HashEntry的单向队列.比如table[3]为首节点,table[3]->next为节点1,之后为节点2,依次类推. public class ConcurrentHashMap<K, V> ext

深度解析Java 8:JDK1.8 AbstractQueuedSynchronizer的实现分析

前言 Java中的FutureTask作为可异步执行任务并可获取执行结果而被大家所熟知.通常可以使用future.get()来获取线程的执行结果,在线程执行结束之前,get方法会一直阻塞状态,直到call()返回,其优点是使用线程异步执行任务的情况下还可以获取到线程的执行结果,但是FutureTask的以上功能却是依靠通过一个叫AbstractQueuedSynchronizer的类来实现,至少在JDK 1.5.JDK1.6版本是这样的(从1.7开始FutureTask已经被其作者Doug Le

eclipse-关于MAC上安装JDK1.6,为什么不能安装

问题描述 关于MAC上安装JDK1.6,为什么不能安装 之前安装了jdk1.8和jdk1.7,但是在安装eclipse 的时候提示要安装jdk1.6,所以按照网上的方法卸载了1.8和1.7,我的java目录下面已经没有任何版本的jdk了,而且在终端上输入java -version也显示没有jdk,,但是为什么还是安装不了??求大神解答, 解决方案 JDK安装后需要设置环境变量才能在DOS命令下运行JAVA命令 解决方案二: 方案一:EXE安装版jdk,安装时两次安装的不要选同一个目录,安装后需要

基于Fedora14下自带jdk1.6版本 安装jdk1.7不识别的解决方法_Android

安装jdk1.7.0_04后,同时设置环境变量,并且source.可是java -version查看后,还是只能查看到jdk1.6和jdk1.5一共两个版本,这两个版本都是fedora自带的. 解决方法: #:  alternatives --install /usr/bin/java java /usr/local/android/jdk1.7.0_04/bin/java 500 注意:/usr/local/android/jdk1.7.0_04/ 是我的jdk安装路径. 然后: altern