`
gugujava
  • 浏览: 24765 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

关于@override报错的问题

阅读更多
刚进公司,公司让看CXF,发现有很多annotation的标注,annotation注释是在jdk1.5加入的新东西,没用过,所以只能照着写了。在公司倒也没出错,公司的jdk是1.6的,把东西带回家后,在自己的电脑(jdk1.5)上一跑,报错了,是@override的错。
费了半天劲才调好,原因如下:
关于@override注释在jdk1.5环境下只能用于对继承的类的方法的重写,而不能用于对实现的接口中的方法的实现。
例如:
public interface Interface_A{
   public void methodA();
}

public class parentClass_B{
   public void methodB(){
    
   }
}

public class test extends parentClass_B implements Interface_A{
   @override  //此处在jdk1.5中会报错,1.6中则不会
   public void methodA(){
       .............
   }

   @override  //此处不会报错
   public void methodB(){
       .............
   }
}


就是这样,如果是针对接口的话(一般应该不需要的吧,多半是eclipse自作主张加上去的,呵呵),一定注意你的jdk版本是否正确。
我是新人,所以不知道我的理解可正确,如有其他看法,欢迎指教。
分享到:
评论
5 楼 wozailongyou 2009-12-02  
dracularking
dracularking 写道
huangfengjing真正解决了我的问题,感谢。我想归根结底还是jdk版本的问题,很多是由eclipse具体表现出来的
因为Eclipse中有个Compiler Compliance Level设置,即使是用了jdk6,也仍有可能按照非jdk6的标准和风格(jdk5)来执行

正解
4 楼 dracularking 2008-12-31  
huangfengjing真正解决了我的问题,感谢。我想归根结底还是jdk版本的问题,很多是由eclipse具体表现出来的
因为Eclipse中有个Compiler Compliance Level设置,即使是用了jdk6,也仍有可能按照非jdk6的标准和风格(jdk5)来执行
3 楼 xiaoyu 2008-09-05  
因为1.5认为实现接口的方法不是Override的,只有现实抽象类的抽象方法才是Override。
2 楼 ghl 2008-09-05  
我设置成了jdk6还是在接口上有@Override就报错,请问什么原因阿
1 楼 huangfengjing 2007-12-27  
与这个无关,是你的 Eclipse 设置有问题,我以前也遇到过这个问题,在 Eclipse 设置里面有一个 JDK 兼容性问题的设置,你大概可以看一下。

相关推荐

    android @override 报错解决方案

    当遇到“`@Override`报错”这个问题时,我们需要检查项目的Java编译器版本设置。通常,我们需要将项目配置中的Java编译器版本升级到1.6或更高,以支持对接口方法的`@Override`注解。具体步骤如下: 1. 打开Eclipse ...

    详解Java中@Override的作用

    相反,如果我们不使用 `@Override`,即使方法名拼写错误,编译器也不会报错,而是认为 `ChildClass` 中新增了一个名为 `oncreate` 的方法,这可能导致程序逻辑错误。 总结一下,`@Override` 在Java中的作用主要体现...

    个人开发中遇到常见问题及解决办法(吐血总结)

    9 Java @override报错的解决方法 10 js实现 选中子页面的checkbox,点击确认,将选中的数据显示到父页面 11 解析oracle的rownum 12 ava web项目中开放一个webservice接口实例 13 js方式实现 系统时间显示 14 js 按...

    AndroidStudio中重载方法@Override的使用详解

    当一个方法本应重写父类方法,但因签名不匹配而未生效时,编译器会报错,帮助开发者及时发现并修正问题。 总之,`@Override` 注解在Android Studio 中扮演着至关重要的角色,它确保了方法重写的正确性,提高了代码...

    Annotation--学习:JDK内建Annotation

    - `@Override`: 检查方法是否真正重写父类方法,若未重写,则编译器会报错。 - `@Deprecated`: 标记不再推荐使用的代码,编译器会在使用时发出警告。 - `@ SuppressWarnings`: 允许程序员抑制特定的编译器警告。 ...

    关于iframe页面报错如何跳到框架显示

    ### 关于iframe页面报错如何跳到框架显示 在网页开发过程中,经常遇到的一个问题是当嵌入在`iframe`中的内容出现错误时,如何让用户直接看到这个错误所在的框架或者跳转到一个特定的页面。这个问题涉及到前端...

    The method of type must override a superclass method解决方式, myeclipse, java, web

    4. **使用了`@Override`注解,但没有找到可重写的方法**:这表明可能存在拼写错误或者父类的版本问题,导致找不到要重写的方法。 在MyEclipse中,处理这个问题的步骤如下: 1. **检查方法签名**:确保子类方法的...

    annotation 详解

    当使用`@Override`标注一个方法时,如果该方法实际上并未重写父类中的方法,编译器会报错。 - **示例** 假设我们有一个子类`CustomClass`,并希望重写父类的`toString()`方法: ```java public class Custom...

    maven配置工具

    1. **处理@Override报错**:当出现@Override报错时,需要在`pom.xml`中添加Maven编译插件配置,指定JDK版本,例如: ```xml <groupId>org.apache.maven.plugins <artifactId>maven-compiler-plugin <version>...

    android studio初始化报错

    在Android开发过程中,有时会遇到集成OpenCV库时出现初始化报错的问题,导致"OpenCV error: Cannot load info library for OpenCV"。这个问题通常与OpenCV库的安装、配置、依赖或版本不兼容有关。以下是一些详细的...

    aidlDemo(AndroidStudio和Eclipse版本)

    @Override public IBinder onBind(Intent intent) { return mBinder; } private final IAidlService.Stub mBinder = new IAidlService.Stub() { @Override public int getNumber() throws RemoteException {...

    解决mybatis-plus3.1.1版本使用lambda表达式查询报错的方法

    总的来说,解决MyBatis-Plus 3.1.1版本使用Lambda表达式查询报错的问题,主要从以下几个方面入手: 1. 检查并确保实体类中的字段有正确的`@TableField`注解,指定了数据库中的对应列名。 2. 在配置中启用Lambda支持...

    注解annotation的详细介绍

    如果方法被标记为`@Override`,但实际上并没有重写任何超类方法,编译器将报错。例如,在例子中,尝试重写`toString()`方法时拼写错误为`tostring()`,编译器会指出错误。 2. **@Deprecated**: `@Deprecated`注解...

    FragmentView

    @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment1, null); SimpleAdapter sa = new ...

    javaAnnotation.pdf

    如果方法没有正确覆盖,编译器会报错,帮助检测拼写错误或类型不匹配的问题。例如,如果你试图覆盖`toString()`但写成`tostring()`,`@Override`将确保在编译时发现此类错误。 2. `@Deprecated`:标记不再推荐使用的...

    EditText Text 当输入有误的时候 报错,并获取焦点。

    标题和描述提到的问题涉及到如何在`EditText`输入有误时,不仅显示错误信息,还要让这个错误的`EditText`获得焦点并改变背景色以提示用户。以下将详细讲解如何实现这一功能。 首先,我们需要在`EditText`中设置`...

    Java注解Annotaton.doc

    它确保了你确实是在覆盖父类的方法,如果方法签名不匹配,编译器会报错。`@Override` 只能应用于方法,不能用于类、接口或其他元素。 ```java class Father { public void fly() {} } class Son extends ...

    完美解决request请求流只能读取一次的问题

    完美解决request请求流只能读取一次的问题 在Web开发中,Request对象的InputStream只能读取一次,这是一个常见的限制。为了解决这个问题,我们可以自定义一个HttpServletRequestWrapper,覆写getInputStream()和...

Global site tag (gtag.js) - Google Analytics