一、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。
分享到:
相关推荐
当遇到“`@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 按...
相反,如果我们不使用 `@Override`,即使方法名拼写错误,编译器也不会报错,而是认为 `ChildClass` 中新增了一个名为 `oncreate` 的方法,这可能导致程序逻辑错误。 总结一下,`@Override` 在Java中的作用主要体现...
1. **处理@Override报错**:当出现@Override报错时,需要在`pom.xml`中添加Maven编译插件配置,指定JDK版本,例如: ```xml <groupId>org.apache.maven.plugins <artifactId>maven-compiler-plugin <version>...
`@Override` 注解是Java语言中用于标记一个方法是重写了父类的特定方法,确保编译器在编译时进行检查,以防止意外地覆盖或丢失方法。本文将深入探讨在Android Studio中如何使用`@Override`进行方法重载以及相关的...
- `@Override`: 检查方法是否真正重写父类方法,若未重写,则编译器会报错。 - `@Deprecated`: 标记不再推荐使用的代码,编译器会在使用时发出警告。 - `@ SuppressWarnings`: 允许程序员抑制特定的编译器警告。 ...
如果方法签名不匹配,MyEclipse会报错。 4. **更新父类引用**:确保你引用的是正确版本的父类,可能是因为引入了错误的依赖或父类版本。 5. **重构代码**:如果问题仍然存在,可能需要重新设计类的继承结构或方法...
当使用`@Override`标注一个方法时,如果该方法实际上并未重写父类中的方法,编译器会报错。 - **示例** 假设我们有一个子类`CustomClass`,并希望重写父类的`toString()`方法: ```java public class Custom...
@Override public IBinder onBind(Intent intent) { return mBinder; } private final IAidlService.Stub mBinder = new IAidlService.Stub() { @Override public int getNumber() throws RemoteException {...
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment1, null); SimpleAdapter sa = new ...
如果方法被标记为`@Override`,但实际上并没有重写任何超类方法,编译器将报错。例如,在例子中,尝试重写`toString()`方法时拼写错误为`tostring()`,编译器会指出错误。 2. **@Deprecated**: `@Deprecated`注解...
它确保了你确实是在覆盖父类的方法,如果方法签名不匹配,编译器会报错。`@Override` 只能应用于方法,不能用于类、接口或其他元素。 ```java class Father { public void fly() {} } class Son extends ...
如果方法没有正确覆盖,编译器会报错,帮助检测拼写错误或类型不匹配的问题。例如,如果你试图覆盖`toString()`但写成`tostring()`,`@Override`将确保在编译时发现此类错误。 2. `@Deprecated`:标记不再推荐使用的...
@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++) { ...
- `@Override`:确保方法确实重写了超类中的方法,如果方法不存在于超类中,编译器会报错。 - `@Deprecated`:标记不再推荐使用的代码,编译器会在使用到这些代码时发出警告。 - `@SuppressWarnings`:抑制特定类型...
微信公众号 简书 APK下载 使用方法 将libray模块复制到项目中,或者直接在build.gradle中依赖: allprojects { repositories { ...注意:如果sync报错,是因为和... @Override protected void onCreate(Bundle
- **@Override**:用于指示方法覆盖或实现超类中的方法,如果方法没有正确覆盖超类的方法,编译器会报错。 - **@Deprecated**:用于标记过时的方法或类,调用这些方法或类时编译器会发出警告,提示开发者该功能已不...
软件开发网在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了... @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> gl