Java编程思想学习笔记——枚举、注解
1. 除了不能继承自一个enum外,我们基本上可以将enum看作一个常规的类。可以向其中添加方法,甚至main。enum的构造函数默认为private因为定义完enum后不允许往其中动态添加实例作为其子集。
2. enum的所有定义的类型其实均继承自java.lang.Enum,因此不能继承自其它类。在定义一个新的enum类型时编译器自动将其定义为final并对它加上了values(),valueOf()方法。
3. EnumSet在JavaSE5中引入,是为了通过enum创建一种替代品,以替代传统的基本int的标志位。使用EnumSet最终操作的只是一些bit,一个enum实例只有一位标志位标志其是否存在,EnumSet的基础是Long(64位),EnumSet也可用于长于64位的情况,其有扩张机制。
4. 位域,即class的每个成员代表的值分别赋为1<<0;1<<1;1<<2……。也即1,2,4,8……等。这样可以简便地实现多个常量的合并,比如SWT中很多的SWT.FLAT|SWT.LINE等是此种实现。
5. JavaSE5内置了三种定义在java.lang的注解:@Override重写超类方法;@Deprecated方法过期;@SuppressWarning关闭不当的警告信息。
6. 如果需要对源文件的方法、类或属性等生成同步的对应外部文档,可以考虑采用注解。它使一切变得容易,具体使用过程包括三步:
(1)声明注解。(2)引用(使用)注解。(3)写注解分析处理器,实现需要的处理。