@Override遇到的问题
来源:互联网 发布:埙和陶笛的区别知乎 编辑:程序博客网 时间:2024/05/17 07:19
今天在把在javaproject下的java代码复制到java webproject下时报错了,但把@Override去掉就不报错了。经过查阅后发现:@override注释在jdk1.5环境下只能用于对继承的父类的方法的重写,但不能用于对实现的接口中的方法的实现。(也就是jdk1.5的 @Override这个annotation 并不把接口认为是超类 ,也就是说 如果在1.5下要使用@Override 这个annotation 必须保证 被标注方法来源于class 而不是interface .具体原因不明,可能是jdk 1.5 在linux 下的一个 bug吧),后来我查看下我的java webproject的编译用的是jdk1.5(但我MyEclipse的确配的是jdk1.6啊),选择jdk1.6就好了。
介绍下@Override
如果想重写父类的方法,比如toString()方法的话,在方法前面加上@Override 系统可以帮你检查方法的正确性。例如:
@Override
public String toString(){...}这是正确的
一旦写错 写成这样
@Override
public String tostring(){...}编译器可以检测出这种写法是错误的 这样能保证你的确重写的方法正确
而如果不加@Override
public String tostring(){...}这样编译器是不会报错的 它只会认为这是你自己新加的一个方法而已
------------------------------------------------------------
@Override的用法:
Override:
java.lang.Override是一个marker annotation类型,它被用作标注方法。它说明了被标注的方法重载了父类的方法,起到了断言的作用。如果我们使用了这种annotation在一个没有覆盖父类方法的方法时,java编译器将以一个编译错误来警示。
这个annotaton常常在我们试图覆盖父类方法而确又写错了方法名时发挥威力。
使用方法极其简单:在使用此annotation时只要在被修饰的方法前面加上@Override。
下面的代码是一个使用@Override修饰一个企图重载父类的toString方法,而又存在拼写错误的sample:
清单1:
@Override public String toSting() { // 注意方法名拼写错了 return "[" + super.toString() + "]";}
- @Override遇到的问题
- @Override遇到的问题
- @Override遇到的问题
- @Override遇到的问题
- @Override遇到的问题
- 学习Scala override时遇到的一个小问题
- Java的@Override注解问题
- @override报错的问题
- mahout学习过程中遇到java @Override问题
- @Override问题
- 关于@override报错的问题
- 用override是碰到的问题
- @Override造成编译失败的问题
- @Override jdk版本不一致引发的问题
- 关于@override报错的问题
- 一个overload/override的小问题
- 关于@override报错的问题
- 关于@override报错的问题
- 【databinding】Exception while handling step android.databinding.annotationprocessor.ProcessExpression
- 如何6天玩转云服务器
- Strust组件—RequestProcessor类详解 (转)
- jsp中 EL标签获取不到值
- <html:checkbo>标签和ActionForm中的reset()
- @Override遇到的问题
- jenkins的分布式应用
- InnoDB的关键特性
- 网站加入Google搜索功能 嵌入Google搜索
- [UBUNTU] [MOSEK] 在ubuntu 14.04 安装 MOSEK version 8.0.0.81 (版本日期:22 June 2017)
- Google地图API 在网站上嵌入谷歌地图API
- windows 找不到“\\192.168.X.X”,请检查拼写是否正确,然后重试,或单击“开始”,再单机“搜索”,搜索项目。 转至元数据结尾
- 总结一些基本概念
- 解决home键把程序隐藏到后台后,再次点击应用会重新打开MainActivity问题