java标签作用_java中的@Override标签,小细节大作用

转载:http://www.cnblogs.com/octobershiner/archive/2012/03/09/2388370.html

一般用途帮助自己检查是否正确的复写了父类中已有的方法

告诉读代码的人,这是一个复写的方法

比如我们有如下基类

165164770_1_20190703052858129.gif

165164770_1_20190703052858129.gif1 package fruit;

2 /**

3 * @author Octobershiner

4 */

5 public class Fruit {

6

7 public void show_name(int num){

8 System.out.println("Fruit: "+mum);

9 }

10

11 public static void main(String[] args) {

12 // TODO code application logic here

13 Fruit apple = new Apple(); //generate a kind of new fruit

14 apple.show_name(2);

15 }

16 }

165164770_1_20190703052858129.gif

165164770_1_20190703052858129.gif

之后我们编写一个Apple子类,继承这个基类。并且复写基类中的show_name()方法。

165164770_1_20190703052858129.gif

165164770_1_20190703052858129.gif1 package fruit;

2

3 public class Apple extends Fruit{

4

5

6 @Override

7 public void show_name(int num){

8 System.out.println("Apple");

9 }

10 }

165164770_1_20190703052858129.gif

165164770_1_20190703052858129.gif

执行的结果,显而易见就是会打印出Apple:2字样。

其实,在我们手工复写父类的方法时,容易把方法的参数记错,如果此时不加@Override的话,编辑器就不会提示你:例如我们不加这个标签,悄悄的把参数改为float型。

165164770_2_20190703052858379.png

这个时候,其实我们并没有按照我们的意图成功复写方法,于是一个隐藏的bug就这样诞生了,相反加上Override的效果就是

165164770_3_20190703052858519.png

IDE给出了错误提示,说明我们复写方法失败。

往往就是我们准备复写方法的时候结果,相反我们是重载了方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值