在接口实现类中,加不加@Override的区别

2022-08-15 11:16:41

  简单来说@override注解是告诉编译器,下面的方法是重写父类的方法。

  如果不写@override注解去直接重写方法,编译器是不会判断你是不是正确重写了父类中的方法的。如重写方法时参数与父类不同,程序是不会提示报错的。这会留下一个潜在的bug。

  当你写了@override注解时,程序会判断你是否正确的重写了父类的对应方法。而且加上此注解后,程序会自动屏蔽父类的方法。

补充:
  一般来说,写与不写没什么区别,JVM可以自识别。

  写的情况下:即说明子类要覆盖基类的方法,基类必须存在方法 (控制类型public,protected,返回值,参数列表类型)与子类方法完成一致的方法,否则会报错(找不到被Override的方法)。

  在不写@Override注解的情况下,当基类存在与子类各种条件都符合的方法时实现覆盖;如果条件不符合时,则是当成新定义的方法使用。

  所以如果想覆盖基类方法时,最好还是写上@Override注解,这样有利于编译器帮助检查错误。

  • 作者:YanYeFa
  • 原文链接:https://blog.csdn.net/weixin_44526508/article/details/108637763
    更新时间:2022-08-15 11:16:41