您的位置:首页 > 编程语言 > Java开发

关于java的枚举

2016-04-08 20:29 447 查看


枚举

枚举中的方法和属性是服务于枚举项的,不是服务于枚举名的。和类有区别的

public enum MyEnum{
ONE,TWO,THREE,FOUR;
}

对enum中的项赋值

public enum MyEnum{
ONE,TWO,THREE,FOUR;
private String value;

public void setValue(String value){
switch(this){
case ONE:
if(value.equals("1")){
this.value=value;
}else{
System.out.println("只能赋值为1");
return ;
}
//后面的省略。。。
}
}
}

public Class Main(){
public void setEnum(){
MyEnum me=MyEnum.valueOf(MyEnum.class , "ONE");  //获取枚举项 MyEnum.ONE
me.setValue("1");       //为枚举项赋值  MyEnum.ONE.setValue("1");
}
}

构造赋值:

public enum MyEnum{
MALE("男"),FEMALE("女");        //枚举项类似对象,不过只有一个属性值

private String name;            //枚举项共用 name 属性

private MyEnum(String name){         //enum无法实例化,只能用 private修饰[默认] ,所以这里的枚举值是固定的,无法修改
this.name=name;
}
private String getName(){
return this.name;
}
}

接口实现:

public interface MyEnumInterface{
void info();
}

public Enum MyEnum implements MyEnumInterface{
MALE{
public void info(){
System.out.println(“单独服务于 MALE”);
}
},FEMALE{
public void info(){
System.out.println(“单独服务于 FEMALE”);
}
};
@Override
public void info(){
System.out.println("这是直接服务于 MALE & FEMALE ,不是直接服务于 MyEnum");
}
}

MyEnum.MALE.info();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息