请问一下 @Override 是什么意思 不写可以吗

parv2 2011-06-26 09:49:49
我看的教程里 有这么一段代码 请问 其中 @Override 是干什么用的,是不是可以不写?

01 abstract class Animal {
02 abstract void makenoise();
03 }
04
05 class Lion extends Animal {
06
07 @Override
08 void makenoise() {
09 System.out.println("狮子吼!");
10 }
11 }
12
13 class Dog extends Animal {
14
15 @Override
16 void makenoise() {
17 System.out.println("狗叫!");
18 }
19 }
...全文
937 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fly_m 2011-06-26
  • 打赏
  • 举报
回复
@override,表示此方法是实现或重写了父类的方法,不加也是可以的。

此注解的作用在于 标记这个方法肯定 是实现或重写父类的方法,在编译时,如果编译器发现此方法不是 实现或重写,则会编译失败。

如父类中有个方法为 abc
而子类写了个方法为 abcd,而且加了overide注解,那么 编译时就会提示错误信息
龙四 2011-06-26
  • 打赏
  • 举报
回复
表示该方法是必须重写的,免得你一不小心改了方法名而导致多态调用时出现了不想要的结果
parv2 2011-06-26
  • 打赏
  • 举报
回复
我不写 @Override 也能编译 运行 那么写 @Override 到底有什么用呢。
JavaMan 2011-06-26
  • 打赏
  • 举报
回复
明确要覆盖父类方法。
Ol_lO 2011-06-26
  • 打赏
  • 举报
回复
@Override指示子类的某个方法是Override父类的某个方法,假如这个父类相应的那个方法签名没有找到,那么编译器会提示错误信息。

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧