package new20140519;
enum Gender
{
MALE,FEMALE;
private String name;
public void setName(String name)
{
switch (this) {
case MALE:
if (name.equals("男")) {
this.name=name;
}else
{
System.out.println("参数错误");
return ;
}
break;
case FEMALE:
if (name.equals("女")) {
this.name=name;
}else
{
System.out.println("参数错误");
return ;
}
break;
default:
break;
}
}
public String getName()
{
return this.name;
}
}
public class GenderTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Gender g=Enum.valueOf(Gender.class,"FEMALE");
g.setName("女");
System.out.println(g+"代表"+g.getName());
g.setName("男");
System.out.println(g+"代表"+g.getName());
}
}
package new20140517;
import new20140519.GenderTest;
public enum Gender {
MALE("男"),FEMALE("女");
//等同于
/*
public static final Gender MALE=new Gender("男");
public static final Gender FEMALE=new Gender("女");
*/
//此处的枚举类必须调用对应的构造器来创建
private final String name;
//枚举类的构造器只能使用private修饰
private Gender(String name)
{
this.name=name;
}
public String getName()
{
return this.name;
}
}