一、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肯定是非常熟悉,不管是自己的代码中还是书上都会出现,但是他是什么意思呢?如下:
@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1、可以当注释用,方便阅读
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法)
example:
在重写父类的onCreate时,在方法前面加上@Override系统可以帮你检查方法的正确性。例如:
publicvoidonCreate(BundlesavedInstanceState){…….}
这种写法是正确的,如果你写成
publicvoidoncreate(BundlesavedInstanceState){…….}
这样编译器会报如下错误——
Themethodoncreate(Bundle)oftypeHelloWorldmustoverrideorimplementasupertypemethod,
以确保你正确重写onCreate方法。(因为oncreate应该为onCreate)
而如果你不加@Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法oncreate。
分享到:
相关推荐
### Override 错误详解与解决方案 #### 一、概述 在进行 Java 开发的过程中,特别是在使用 Eclipse 这样的集成开发环境(IDE)时,开发者可能会遇到一个常见的问题:`Override` 错误。这种错误通常发生在尝试覆盖...
3. **处理Override错误**: - 如果代码中存在`override`关键字报错,这是因为Eclipse的Java编译器版本与源代码的兼容性问题。 - 要解决这个问题,右键点击工程,选择`Properties`,然后选择`Java Compiler`选项。 ...
例如,如果我们不加@Override标签,而是悄悄地把方法的参数改为float型,那么编辑器就不会提示我们错误。这样就会导致一个隐藏的bug的诞生。 ```java public class Apple extends Fruit { public void show_name...
- 在Eclipse IDE中,当使用`@Override`注解时,可能会遇到与Java版本兼容性相关的错误。 - **解决方法**:打开项目属性 -> Java Compiler,找到compliercompliancelevel选项,将其从1.5更改为1.6。 - **原因分析**:...
在Java编程语言中,"The method of type must override a superclass method" 是一个常见的错误提示,它通常出现在子类试图重写父类方法时,但没有按照正确的格式进行。这个错误通常与多态性和继承概念有关,是理解...
在Android开发过程中,有时会遇到`@Override`注解引发的编译错误,尤其是在使用Eclipse IDE时。这个错误通常表现为“方法不覆盖父类的方法”或者“找不到要覆盖的方法”。这种问题的根本原因在于Java语言版本的差异...
这在某些情况下可以避免不必要的复杂性和潜在错误。 4. **接口(Interface)与抽象类(Abstract Class)** 在PHP5中,接口(Interface)提供了一种强制子类实现特定方法的方式,而抽象类(Abstract Class)则允许...
在Java编程语言中,`Override`关键字是一个非常重要的概念,它用于标识一个方法是重写了父类中的同名方法。这个关键词确保了子类的方法能够覆盖或实现接口中定义的抽象方法,从而提供了多态性,这是面向对象设计的...
void eat() const { /* implementation */ } //错误的override,名称不同 }; ``` 在上面的例子中,Student类的Eat()函数正确地override了基类的Eat()函数,而eat()函数的名称不同,不能override基类的Eat()函数。 ...
覆盖装饰器 ES7 的简单@Override装饰... 如果装饰的属性没有覆盖父属性,装饰器将抛出错误。 class C extends A { @ Override b ( ) { /* ... */ } } // Error: b does not override a member of its superclass
3. **测试**:在自动化测试中,可以使用插件来改变API响应,模拟各种错误状态,以确保应用的健壮性。 4. **隐私保护**:通过替换某些请求,可以防止个人信息的泄露,例如替换广告跟踪代码。 在实际使用中,Resource...
protected override WebBrowserSiteBase CreateWebBrowserSiteBase() { return new CustomWebBrowserSite(this); } public class CustomWebBrowserSite : WebBrowserSite { public CustomWebBrowserSite...
相反,如果我们不使用 `@Override`,即使方法名拼写错误,编译器也不会报错,而是认为 `ChildClass` 中新增了一个名为 `oncreate` 的方法,这可能导致程序逻辑错误。 总结一下,`@Override` 在Java中的作用主要体现...
#### 错误代码1010:`override` 使用错误 `override` 关键字只能用于覆盖父类中的方法或属性。如果在一个类中使用 `override` 修饰一个并未在父类中声明的方法,则会报错。 **解决方案:** 确认被标记为 `override...
4. **错误1010:override属性只能在类的属性定义中使用** `override`关键字用于重写基类的方法,只能放在类的成员函数定义前,不能用于函数块内的函数。 5. **错误1012:static属性只能在类内部的定义中使用** ...
@Override public String getErrorPath() { return ERROR_PATH; } @RequestMapping(value = ERROR_PATH) public ModelAndView handleError(HttpServletRequest request) { Object status = request....
### 错误1024:错误的`override`使用 在非子类中使用`override`或在没有合适父类方法的情况下使用,将导致编译错误。 ### 错误1025:扩展`final`类 尝试扩展一个标记为`final`的类将引发此错误,因为`final`类不...
请不要提交错误报告,说明当您尝试使用它时mach_override崩溃了-您必须具有足够的核心能力自己调试问题。贡献请根据不稳定的分支进行工作。 进行更改后,请重新运行rake以确保其可以正常编译并通过测试。 然后提交...
4. Error 1118: Invalid override 如果重写父类的方法时,签名不匹配或访问级别不兼容,就会出现此错误。确保重写的方法具有相同的参数列表和适当的访问修饰符。 5. Error 1120: Access of undefined property ...
5. **错误1010**:`override`属性只能在类的属性定义中使用。当重写父类的方法时,必须使用`override`关键字,且它不能在函数块内使用。 6. **错误1011**:`virtual`属性只能在类的属性定义中使用。`virtual`关键字...