讲解java枚举实现单例模式 java枚举的使用是什么


讲解java枚举实现单例模式 java枚举的使用是什么

文章插图
一、枚举类类的对象只有有限个, 确定的. 我们称此类为枚举类.
说明:
类的对象只有有限个,确定的 。如:星期:Monday(星期一)、……、Sunday(星期天)性别:Man(男)、Woman(女) ? 季节:Spring(春节)……Winter(冬天)支付方式:Cash(现金)、WeChatPay(微信)、Alipay(支付宝)、BankCard(银 行卡)、CreditCard(信用卡)就职状态:Busy、Free、Vocation、Dimission订单状态:Nonpayment(未付款)、Paid(已付款)、Delivered(已发货)、 Return(退货)、Checked(已确认)Fulfilled(已配货)线程状态:创建、就绪、运行、阻塞、死亡2.当需要定义一组常量时,强烈建议使用枚举类 。
3.若枚举只有一个对象, 则可以作为一种单例模式的实现方式 。
枚举类的实现:
JDK1.5之前需要自定义枚举类 。JDK 1.5 新增的 enum 关键字用于定义枚举类 。枚举类的属性:
枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰 。枚举类的使用 private final 修饰的属性应该在构造器中为其赋值 。若枚举类显式地定义了带参数的构造器, 则在列出枚举值时也必须对应的 传入参数 。① 自定义枚举类#
通过自己写一个自定义的类来实现自定义枚举类 。
自定义枚举类的实现:
私有化类的构造器,保证不能在类的外部创建其对象 。在类的内部创建枚举类的实例 。声明为:public static final 。对象如果有实例变量,应该声明为private final,并在构造器中初始化 。Demo:
② enum关键字定义枚举类通过使用enum关键字,和一些简便的规则,更方便枚举类的创建
说明:
enum 枚举类是继承 java.lang.Enum 类的,所以其中如果不重写 toString 使用的是 java.lang.Enum 中的 toString,不会输出内存地址,而是会打印对象名enum 枚举类的实现:
使用 enum 声明类为枚举类 。在枚举类的开头首先定义枚举类中所需要的对象 。枚举类对实例化枚举类的对象做了简化只需要使用 对象名(参数···) 就可以完成实例化,如:PRING(“春天”, “春暖花开”), WINTER(“冬天”, “冰天雪地”);多个对象用 “,” 隔开,最后一个以 “;” 结尾如果没有属性,可以去掉括号,如:PRING, WINTER;其余规则均与自定义枚举类相同 。Demo:
③ enum 枚举类的方法
values() :返回枚举类型的对象数组 。该方法可以很方便地遍历所有的 枚举值 。valueOf(String str) :可以把一个字符串转为对应的枚举类对象 。要求字符 串必须是枚举类对象的“名字” 。如不是,会有运行时异常:IllegalArgumentException 。toString():返回当前枚举类对象常量的名称 。Demo:(枚举类使用上面代码的枚举类Season1)
④ enum 枚举类实现接口enum 枚举类可以像正常类那样实现接口并重写接口中的方法
但是 enum 枚举类还有其独特的实现接口的方法, 接口类中的每个对象都可以独自重写实现接口的方法
enum 对象特有的实现接口的方法 :
对象名(构造器参数){ 需要重写的方法 }, 如:Demo:
二、注解从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是 Annotation(注解)Annotation 其实就是代码里的特殊标记, 这些标记可以在编译, 类加 载, 运行时被读取, 并执行相应的处理 。通过使用 Annotation, 程序员 可以在不改变原有逻辑的情况下, 在源文件中嵌入一些补充信息 。代码分析工具、开发工具和部署工具可以通过这些补充信息进行验证 或者进行部署 。Annotation 可以像修饰符一样被使用, 可用于修饰包,类, 构造器, 方 法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation 的 “name=value” 对中 。在JavaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等 。在JavaEE/Android中注解占据了更重要的角色,例如 用来配置应用程序的任何切面,代替JavaEE旧版中所遗留的繁冗 代码和XML配置等 。未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以 上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的 Struts2有一部分也是基于注解的了,注解是一种趋势,一定程度上 可以说:框架 = 注解 + 反射 + 设计模式 。使用 Annotation 时要在其前面增加 @ 符号, 并把该 Annotation 当成 一个修饰符使用 。用于修饰它支持的程序元素① 生成文档相关注解


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: