API中的说明是:
表示一个方法声明打算重写超类中的另一个方法声明。如果方法利用此注释类型进行注解但没有重写超类方法,则编译器会生成一条错误消息。不明白。没有重写超类方法是什么意思,只有声明没有实现?我在Eclipse 3.2版本中使用了该注释,且重写superclass的方法(有实现),但还是编译出错。据说Eclipse Europa版本可以编译通过,但是我想知道这个东西究竟是干什么的?
谢谢!
表示一个方法声明打算重写超类中的另一个方法声明。如果方法利用此注释类型进行注解但没有重写超类方法,则编译器会生成一条错误消息。不明白。没有重写超类方法是什么意思,只有声明没有实现?我在Eclipse 3.2版本中使用了该注释,且重写superclass的方法(有实现),但还是编译出错。据说Eclipse Europa版本可以编译通过,但是我想知道这个东西究竟是干什么的?
谢谢!
你超类有个void werqwc2411()方法
子类有个void werqwc24l1()方法
你本来的意图是为了重写超类的方法,可是由于输入错误,导致没有重写...这个错误很难查.
当然你用eclipse左边会有小三角提示你.要是没有eclipse呢?
@override这个标记是你告诉编译器,werqwc24l1()是个重写方法.
编译器就查找超类.没有发现匹配的就会给你报错
谢谢你的答复。你的意思是,如果一个方法是@override的,但是superclass或者interface中并没有这个方法,就会出错?那为什么下面这段代码也无法通过编译?
class T implements ActionListener
{
@Override
public void actionPerformed( ActionEvent e )
{
}
}JDK版本是6.0