@Override注解,不是关键字,但可以当关键字使用,可以选择添加这个注解,在你不留心重载而并非复写了该方法时,编译器就会产生一条错误:The method doh(Milhouse) of type Bart must override or implement a supertype method // reusing/hide.java //owrloading a base method name in a derived package object; import static n…
对于传统程序猿,注解里面最重要的就是Override注解了.这里的注解,都是指仅仅能用在方法中的声明, 她表示被注解的方法用于覆盖了父类的一个声明,假设坚持使用这个注解,能够防止一大类的非法错误. <span style="font-size:14px;">public class Bigram{ private final char first: private final char second: public Bigram (char first ,char seco…
Principle Use the Override annotation on every method declaration that you believe to override a superclass declaration. // Can you spot the bug? public class Bigram { private final char first; private final char second; public Bigram(char first, cha…
用IntelliJ 15打开一个以前的工程,发现代码出现很多关于@Override的错误,编辑器提示:“@Override is not allowed when implementing interface method”,怎么会这样子?看来@Override是个有故事的家伙,呵呵! 先来上张图吧!看看到底是什么样子的错误. 下面我们来分析一下该问题.我们都知道@Override从jdk1.5开始出现的,是用来标注方法重写的.通常方法重写发生在继承父类,重写父类方法,或者实现接口,…
30:用enum代替int常量 当需要一组固定常量的时候,应该使用enum代替int常量,除了对于手机登资源有限的设备应该酌情考虑enum的性能弱势之外. 31:用实例域代替序数 应该给enum添加int域,而不是使用ordinal方法来导出与枚举关联的序数值.(几乎不应使用ordinal方法,除非在编写像EnumMap这样的基于枚举的通用数据结构) //WRONG public enum Fruit{ APPLE, PEAR, ORANGE; public int numberOfFruit(…