浏览 4987 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-07-28
测试代码 : public class Thread extends SuperThread { /** * @param args */ public static void main(String[] args) { new Runnable() { /** * this block can not be compiled successfully. * The IDE supports the below information: * * Multiple Markers this line * -The method run() of type new Runnable(){}must override a superclass method * -implements java.lang.Runnable.run */ @Override public void run() { // TODO Auto-generated method stub } }; } /** * this method can be compiled successfully. */ @Override public void test() { // TODO Auto-generated method stub } widows 下的jdk以及 linux 下 1.6的jdk 不存在该问题 ,从提示中可以看出 linux 下1.5的jdk @Override 这个annotation 并不把接口认为是超类 。。。也就是说 如果在1.5下要使用@Override 这个annotation 必须保证 被标注方法来源于class 而不是interface .具体原因不明,或许是jdk 1.5 在linux 下的一个 bug ,个人感觉这点已经给我带来了不便 ,如要用@Override 标注检测 必须升级到jdk 1.6 ,但要升到1.6谈何容易,升到1.5就已经阻力重重了。。 ^_^ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-07-28
我投新手贴, 你看看你java compiler的设置或者应用jdk的设置
|
|
返回顶楼 | |
发表时间:2008-07-28
就是哦,是不是设置成1.4的了?
|
|
返回顶楼 | |
发表时间:2008-07-28
回帖前请将内容看清楚,如果注释没看就轻易认为这是个很简单的问题 ,那只能说你在给别人下结论的时候也给自己下了结论
|
|
返回顶楼 | |