关于枚举
2016-07-07 16:34
309 查看
1.所有的对象都是这个类的pubic static final;
2.构造方法只能是私有,枚举在此类外不能新建;
3.toString()方法如果不重写,输出就是变量名;
4.values()枚举类静态方法,可以列举出所有这个枚举类类型的对象;
5.枚举是一个类,只能实现接口,不能继承别的类,有自己的属性和方法;
6.枚举是一个特殊的类,自己的属性一定出现在GOOD/BAD/NORMAl等变量名之后
package StaticTest;
//枚举的举例
public enum Test2 {
GOOD(1, "好学生"), BAD(2, "坏学生"), NORMAL(3, "中等学生");
private final int condition;
private final String name;
private Test2(int condition, String name) {
this.condition = condition;
this.name = name;
}
public int getCondition() {
return condition;
}
public String getName() {
return name;
}
//重写toString(方法,如果不重写,输出的值就只是GOOD)
public String toString() {
return "12345" + name;
}
public static String getNameByCondition(int condition) {
for (Test2 enum1 : values()) {
if (condition == enum1.condition) {
return enum1.getName();
}
}
throw new IllegalArgumentException("没有这样的序号:" + condition
+ ", in Test2");
}
public static void main(String[] args) {
System.out.println(getNameByCondition(1));
System.out.println(getNameByCondition(2));
System.out.println(getNameByCondition(3));
//System.out.println(getNameByCondition(4));//验证没有这样的标号抛出异常
System.out.println(GOOD);//输出GOOD的值
}
}
2.构造方法只能是私有,枚举在此类外不能新建;
3.toString()方法如果不重写,输出就是变量名;
4.values()枚举类静态方法,可以列举出所有这个枚举类类型的对象;
5.枚举是一个类,只能实现接口,不能继承别的类,有自己的属性和方法;
6.枚举是一个特殊的类,自己的属性一定出现在GOOD/BAD/NORMAl等变量名之后
package StaticTest;
//枚举的举例
public enum Test2 {
GOOD(1, "好学生"), BAD(2, "坏学生"), NORMAL(3, "中等学生");
private final int condition;
private final String name;
private Test2(int condition, String name) {
this.condition = condition;
this.name = name;
}
public int getCondition() {
return condition;
}
public String getName() {
return name;
}
//重写toString(方法,如果不重写,输出的值就只是GOOD)
public String toString() {
return "12345" + name;
}
public static String getNameByCondition(int condition) {
for (Test2 enum1 : values()) {
if (condition == enum1.condition) {
return enum1.getName();
}
}
throw new IllegalArgumentException("没有这样的序号:" + condition
+ ", in Test2");
}
public static void main(String[] args) {
System.out.println(getNameByCondition(1));
System.out.println(getNameByCondition(2));
System.out.println(getNameByCondition(3));
//System.out.println(getNameByCondition(4));//验证没有这样的标号抛出异常
System.out.println(GOOD);//输出GOOD的值
}
}
相关文章推荐
- centos6.5 kvm与ceph整合问题解决
- 【指导】mysql 升级:5.5-->5.6
- C# 将 txt 文件拖拽到 textbox时 textbox 读取txt中文本内容
- leetcode -----Majority Elemen II
- XML之命名空间的作用(xmlns)
- 自定义ViewGroup实现Title自动隐藏功能(带源代码)
- Windows服务程序的原理及实现(服务分为WIN32服务和系统服务)
- 中断向量表
- 防止一个exe被打开多次
- EasyUI 中 DataGrid 控件 列 如何绑定对象中的属性
- 基于RBGD的mapping
- 关于ScrollView嵌套RecycleView的问题。
- Andfix使用说明
- Python的collections模块中的OrderedDict有序字典
- SpringMVC简单配置
- 遭遇诡异的 EOFException
- hdu1732 Push Box【搜索】
- oracle 用户创建及权限设置
- Jsp页面注册与登录
- 2013年noip第三题货车运输truck(树链剖分LCA+最大生成树)