1.不包含方法的枚举
定义一个枚举类型,然后输出枚举成员的名称和对应的序号。
package practice;
enum Direction{ //定义名为Direction的枚举类型
EAST, //声明四个枚举成员
SOUTH,
WEST,
NORTH
}
public class f { //定义主类
public static void main(String[] args) { //主方法
// TODO Auto-generated method stub
Direction dir =Direction.EAST; //定义一个枚举型变量,并赋给一个枚举值
Direction dir1 = Direction.valueOf("NORTH"); //用枚举名Direction调用valueOF()方法
System.out.println(dir); //输出枚举变量的值
System.out.println(" "+dir1);
for(Direction d: Direction.values()) //利用foreach语句输出枚举成员的序号和名称
System.out.println("序号:"+d.ordinal()+"的值为:"+d.name());
}
}
2.包含属性和方法的枚举
定义一个枚举类型,通过构造方法为枚举成员的属性赋值,然后输出相应的结果
package practice;
enum Direction1{ //定义枚举类型的
EAST1(“东”),SOUTH1(“南”),WEST1(“西”),NORTH1(“北”); //声明四个枚举成员
private String name; //定义一个私有属性name
private Direction1 (String name) { //定义构造方法,只能用private修饰
this.name=name;
}
public String toStringh() { //重写toString()方法
return name;
}
}
public class ff { //定义主类
public static void main(String[] args) { //主方法
// TODO Auto-generated method stub
Direction1 dir = Enum.valueOf(Direction1.class, "NORTH"); //直接用Enum调用valuOf()方法
System.out.println(dir); //输出枚举变量的属性
for(Direction d:Direction.values()) //利用foreach语句输出枚举成员的序号和名称
System.out.println(d.name()+"的属性是("+d.toString());
}
}