关于Override有几点要注意的地方:
1.被覆盖方法的访问控制级别可以不一样。
但子类的访问级别必须要高于父类被覆盖方法的访问级别,如果父类是public的而子类是protected的则是错误的。
2.方法被定义为private或static或final的则不能被覆盖。
3.方法的返回类型:子类的返回类型可以是更具体的对象,例如可以将子类的返回类型改为父类也正确。而倒过来则错误。
4.在方法调用时先会在子类中找覆盖的方法,如果子类中没有则会在父类中去找。
如果是复写子类方法,则在方法前加@override可以检查是否重写规范。
若没有加@override,即使重写不规范也不会报错,java编译器会认为是子类中新加的方法。
在实际开发中eclipse会给实现接口类的方法名前强制加上@override,增强代码的可读性,自行检查书写规范。