`

@override 报错

 
阅读更多
一、java @override 报错处理

有时候在自己电脑上编译通过的java代码,在别人那里却编译不通过,总是@override报错,把@override去掉就好了,但不能从根本上解决问题。
据说这是jdk的问题,@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。
首先要确保安装了jdk 1.6,

然后,在eclipse中修改配置,在 Windows->Preferences-->java->Compiler-->compiler compliance level 中选择 1.6,刷新工程,重新编译下;
如果还是不行,就在报错的工程上,鼠标右键选择 Properties-->Java Compiler-->compiler compliance level 中选择 1.6,刷新工程,重新编译下。

二、Android之@Override详解

Android的开发者对@Override肯定是非常熟悉,不管是自己的代码中还是书上都会出现,但是他是什么意思呢?如下:
  @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
    1、可以当注释用,方便阅读
    2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法)
  example:

  在重写父类的onCreate时,在方法前面加上@Override系统可以帮你检查方法的正确性。例如:

  publicvoidonCreate(BundlesavedInstanceState){…….}
  这种写法是正确的,如果你写成
  publicvoidoncreate(BundlesavedInstanceState){…….}
  这样编译器会报如下错误——
  Themethodoncreate(Bundle)oftypeHelloWorldmustoverrideorimplementasupertypemethod,
  以确保你正确重写onCreate方法。(因为oncreate应该为onCreate)
  而如果你不加@Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法oncreate。
分享到:
评论

相关推荐

    android @override 报错解决方案

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

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

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

    详解Java中@Override的作用

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

    maven配置工具

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

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

    `@Override` 注解是Java语言中用于标记一个方法是重写了父类的特定方法,确保编译器在编译时进行检查,以防止意外地覆盖或丢失方法。本文将深入探讨在Android Studio中如何使用`@Override`进行方法重载以及相关的...

    Annotation--学习:JDK内建Annotation

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

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

    如果方法签名不匹配,MyEclipse会报错。 4. **更新父类引用**:确保你引用的是正确版本的父类,可能是因为引入了错误的依赖或父类版本。 5. **重构代码**:如果问题仍然存在,可能需要重新设计类的继承结构或方法...

    annotation 详解

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

    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 {...

    FragmentView

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

    注解annotation的详细介绍

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

    Java注解Annotaton.doc

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

    javaAnnotation.pdf

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

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

    @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { if (source == null || end == 0) return null; for (int i = start; i ; i++) { ...

    Java Annotation详解

    - `@Override`:确保方法确实重写了超类中的方法,如果方法不存在于超类中,编译器会报错。 - `@Deprecated`:标记不再推荐使用的代码,编译器会在使用到这些代码时发出警告。 - `@SuppressWarnings`:抑制特定类型...

    Android代码-Android 流式布局FlowLayout(搜索历史),可多布局、点击删除、添加等操作。

    微信公众号 简书 APK下载 使用方法 将libray模块复制到项目中,或者直接在build.gradle中依赖: allprojects { repositories { ...注意:如果sync报错,是因为和... @Override protected void onCreate(Bundle

    编程语言Java注解.pdf

    - **@Override**:用于指示方法覆盖或实现超类中的方法,如果方法没有正确覆盖超类的方法,编译器会报错。 - **@Deprecated**:用于标记过时的方法或类,调用这些方法或类时编译器会发出警告,提示开发者该功能已不...

    Android中Glide获取图片Path、Bitmap用法详解

    软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了... @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> gl

Global site tag (gtag.js) - Google Analytics