初学java或多或少都会有这样的疑问,@Override有什么用,有的时候写,有的时候又不写,搞的初学者甚是郁闷。
做了一两年的开发说起这个问题不一定能够对答如流。小弟才疏学浅,花了点时间,看了一下资料,最后得到一个比较靠谱的解答。
打开eclipse敲入@Override,鼠标悬浮@Override注解都会出现这样一个提示信息如下:
简单做一下翻译:
该注解标记表示一个方法声明的目的是覆盖父类方法,(也就是一个标识)。如果使用此注解标记方法,如果不满足以下条件之一,编译器会生成错误消息:
1.该方法重写或者实现了该超类中声明过的方法;
2.该方法的签名与在Object类中声明的任何公用方法的签名相同。
不理解没事,下面开始说人话:
1.用@Override是用来标记该方法是重写或者实现了超类的方法,一种约定俗成,大家看到都知道是这个意思,方便开发者阅读。
2.编译器会自动去校验添加该标记的方法,如果添加了,但超类中没有相同的声明,则编译报错。
欢迎批评指正,一起学习进步!