enum和Enum关系
来源:互联网 发布:能以礼让为国乎何有 编辑:程序博客网 时间:2024/05/18 02:56
1.例子:使用jad.exe将enum定义的枚举类型反编译成Enum的类类型
TestEnum.java
public enum TestEnum {
ONE(false), TWO(true);
boolean mIsSelected;
private TestEnum(boolean isSelected) {
this.mIsSelected = isSelected;
}
}
将TestEnum.class反编译成TestEnum.jad
public final class TestEnum extends Enum
{
private TestEnum(String s, int i, boolean isSelected)
{
super(s, i); // 父类Enum的构造函数只有一个
mIsSelected = isSelected; // 要使用什么参数自己去维护
}
public static TestEnum[] values()
{
TestEnum atestenum[];
int i;
TestEnum atestenum1[];
System.arraycopy(atestenum = ENUM$VALUES, 0, atestenum1 = new TestEnum[i = atestenum.length], 0, i);
return atestenum1;
}
public static TestEnum valueOf(String s)
{
return (TestEnum)Enum.valueOf(TestEnum, s);
}
// 编译器自己生成静态变量和和静态TestEnum类的数组
public static final TestEnum ONE;
public static final TestEnum TWO;
boolean mIsSelected;
private static final TestEnum ENUM$VALUES[];
static
{
ONE = new TestEnum("ONE", 0, false);
TWO = new TestEnum("TWO", 1, true);
ENUM$VALUES = (new TestEnum[] {
ONE, TWO
});
}}
总结:enum定义的类,编译器会做处理,把enum定义的类转换成Enum类型。所以enum本质就是个类,java一切皆对象/类
0 0
- enum和Enum关系
- enum和Enum区别
- enum和Enum区别
- enum
- enum
- enum
- enum
- enum
- enum
- enum
- ENUM
- enum
- enum
- enum
- enum
- enum
- enum
- enum{}
- 页面延迟加载方法
- 在Linux下,用SQlite数据库编写的图书管理系统源代码及错误总结
- 【bzoj1601】【Usaco2008 Oct】灌水 (最小生成树) 题解&代码
- PPT裂字效果怎么制作
- 即时查询,类似于百度及时查询显示结果
- enum和Enum关系
- Spark Broadcast内幕解密
- 1018 of dp
- android 开发 onRestart()未调用
- 使用Fastjson生成Json字符串少字段属性(数据丢失)
- 记录优化 Eclipse||MyEclipse ini配置
- ios富文本属性
- 学习android出现的问题
- CoreThink基础模块结构、主题,开源地址