在 Java 5 环境中,如果用类A去实现接口B (A implements B),A 实现的方法名前是不能添加 @Override 标记的,否则会报如下图所示的错误提示而无法编译:
http://farm3.static.flickr.com/2594/4293378740_61e7b8dbc1_o.png
经过尝试和总结,得出下表。
Version | Java 5 | Java 6 |
超类型是 interface,子类型重写的方法能否添加@Override 标记 | 否 | 是 |
超类型是 class,子类型重写的方法前能否添加 @Override 标记 | 是 | 是 |
注:
本机环境: Ubuntu, Java 6
上表中的 Java 5 是设置 Java compiler 兼容 5 得来。