枚举类
2016-06-28 15:13
281 查看
枚举类也是一种特殊形式的Java类。
枚举类中声明的每一个枚举值代表枚举类的一个实例对象。
与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。
枚举类也可以实现接口、或继承抽象类。
其实枚举类就是其构造方法私有化的普通类
[align=left]package Enum;[/align]
[align=left] [/align]
[align=left]public class Enum_Test {[/align]
[align=left] [/align]
[align=left] class User[/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] int Id ;[/align]
[align=left] String User_Name;[/align]
[align=left] private Role role ;[/align]
[align=left] private Role1 role1 ;[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] public void run()[/align]
[align=left] {[/align]
[align=left] User user= new User();[/align]
[align=left] user. Id=123;[/align]
[align=left] user. User_Name="孙业宝" ;[/align]
[align=left] user. role=Role. Boss;[/align]
[align=left] user. role1=Role1. WORKER;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left]enum Role1{[/align]
[align=left] [/align]
[align=left] BOSS,HR ,WORKER;[/align]
[align=left]}[/align]
[align=left]class Role[/align]
[align=left]{[/align]
[align=left]private Role(){}[/align]
[align=left]public static final Role Boss= new Role();[/align]
[align=left]public static final Role HR=new Role();[/align]
[align=left]public static final Role WORKER= new Role();[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]package Enum;[/align]
[align=left] [/align]
[align=left]import org.junit.Test;[/align]
[align=left] [/align]
[align=left]public class enum_API {[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * 已知对象获取枚举名称 及下标[/align]
[align=left] */[/align]
[align=left] @Test[/align]
[align=left] public void run()[/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] Love gile=Love. GILR;[/align]
[align=left] //获取铝盘[/align]
[align=left] System. out.println(gile.name());[/align]
[align=left] //获取下标[/align]
[align=left] System. out.println(gile.ordinal());[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * 已知枚举名称,获取下标及对象[/align]
[align=left] */[/align]
[align=left] public void run1()[/align]
[align=left] {[/align]
[align=left] String name= "GILR";[/align]
[align=left] Love gile=Enum. valueOf(Love.class, name);[/align]
[align=left] System. out.println(gile.name());[/align]
[align=left] System. out.println(gile.ordinal());[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * 已知枚举下标,获取名称及对象[/align]
[align=left] */[/align]
[align=left] public void run2()[/align]
[align=left] {[/align]
[align=left] int ind=2;[/align]
[align=left] Love [] loves=Love. values();[/align]
[align=left] Love code=loves[ind];[/align]
[align=left] System. out.println(code.name());[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left]enum Love{[/align]
[align=left] [/align]
[align=left] GILR,RADE ,SLEEP;[/align]
[align=left]}[/align]
枚举类中声明的每一个枚举值代表枚举类的一个实例对象。
与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。
枚举类也可以实现接口、或继承抽象类。
其实枚举类就是其构造方法私有化的普通类
[align=left]package Enum;[/align]
[align=left] [/align]
[align=left]public class Enum_Test {[/align]
[align=left] [/align]
[align=left] class User[/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] int Id ;[/align]
[align=left] String User_Name;[/align]
[align=left] private Role role ;[/align]
[align=left] private Role1 role1 ;[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] public void run()[/align]
[align=left] {[/align]
[align=left] User user= new User();[/align]
[align=left] user. Id=123;[/align]
[align=left] user. User_Name="孙业宝" ;[/align]
[align=left] user. role=Role. Boss;[/align]
[align=left] user. role1=Role1. WORKER;[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left]enum Role1{[/align]
[align=left] [/align]
[align=left] BOSS,HR ,WORKER;[/align]
[align=left]}[/align]
[align=left]class Role[/align]
[align=left]{[/align]
[align=left]private Role(){}[/align]
[align=left]public static final Role Boss= new Role();[/align]
[align=left]public static final Role HR=new Role();[/align]
[align=left]public static final Role WORKER= new Role();[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left]package Enum;[/align]
[align=left] [/align]
[align=left]import org.junit.Test;[/align]
[align=left] [/align]
[align=left]public class enum_API {[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * 已知对象获取枚举名称 及下标[/align]
[align=left] */[/align]
[align=left] @Test[/align]
[align=left] public void run()[/align]
[align=left] {[/align]
[align=left] [/align]
[align=left] Love gile=Love. GILR;[/align]
[align=left] //获取铝盘[/align]
[align=left] System. out.println(gile.name());[/align]
[align=left] //获取下标[/align]
[align=left] System. out.println(gile.ordinal());[/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * 已知枚举名称,获取下标及对象[/align]
[align=left] */[/align]
[align=left] public void run1()[/align]
[align=left] {[/align]
[align=left] String name= "GILR";[/align]
[align=left] Love gile=Enum. valueOf(Love.class, name);[/align]
[align=left] System. out.println(gile.name());[/align]
[align=left] System. out.println(gile.ordinal());[/align]
[align=left] [/align]
[align=left] }[/align]
[align=left] [/align]
[align=left] /**[/align]
[align=left] * 已知枚举下标,获取名称及对象[/align]
[align=left] */[/align]
[align=left] public void run2()[/align]
[align=left] {[/align]
[align=left] int ind=2;[/align]
[align=left] Love [] loves=Love. values();[/align]
[align=left] Love code=loves[ind];[/align]
[align=left] System. out.println(code.name());[/align]
[align=left] }[/align]
[align=left]}[/align]
[align=left] [/align]
[align=left]enum Love{[/align]
[align=left] [/align]
[align=left] GILR,RADE ,SLEEP;[/align]
[align=left]}[/align]
相关文章推荐
- HDFS节点内数据平衡:DiskBalancer
- app下导航,图标截取某些部分定位
- app下导航,图标截取某些部分定位
- java性能优化
- 进入Material Design时代
- Android牛人启航博客地址
- 单例模式的结构
- 利用python写一个有道翻译的脚本
- UIApplicationDelegate中常用的几个方法
- 自定义jQuery插件Step by Step
- 门面模式(Facade)
- 事务
- java中List Set Map使用
- MyEclipse简单设置
- [ActionScript 3.0] AS3.0 获取文本的明暗度
- SpringMVC中的@PathVariable
- StrictMode使用和查询联系人手机联系人和sim卡联系人
- oc转swift基本语法一
- 批量替换数据库某字段部分内容
- 319. Bulb Switcher