您的位置:首页 > 其它

枚举类

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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: