-------
android培训
、
java培训
、期待与您交流! ----------
程序运行结果:
一、枚举:
所谓枚举,就是指将变量的值一一列出来,变量的值只限于列举出来的值的
范围内。
举例:一周只要7天,一年只有12个月等。
回想单例设计模式:单例类是一个类只有一个 实例。那么多例就是一个类有多个实例,
但不是无限个数的实例,而是有限个数的实例。这才是枚举类。
二、枚举类格式:
格式是:只要枚举项的枚举类
public enum 枚举类名{
枚举项1,枚举项2,枚举项3……;
}
三、枚举类中的几个常见方法:
int compareTo(E o)
比较此枚举与指定对象的顺序。
String name()
返回此枚举常量的名称,在其枚举声明中对其进行声明。
int ordinal()
返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
String toString()
返回枚举常量的名称,它包含在声明中。
<T>T valueOf(Class<T>type.String name)
返回带指定名称的指定枚举类型的枚举常量。
values():此方法虽然在JDK文档里找不到,但每个枚举类都具有该方法,
它遍历枚举类的所有枚举值非常方便。
示例:
- public enum DirectionEnum {
- FRONT,BEHIND,LEFT,RIGHT;
- }
- public enum DirectionEnum2 {
- FRONT("前"),BEHIND("后"),LEFT("左"),RIGHT("右");
- //加入成员变量,并去掉无参构造
- private String name;
- private DirectionEnum2(String name){
- this.name = name;
- }
- public String getName() {
- return name;
- }
- }
- public enum DirectionEnum3 {
- FRONT("前") {
- @Override
- public void show() {
- // TODO 自动生成的方法存根
- System.out.println("向前");
- }
- },BEHIND("后") {
- @Override
- public void show() {
- // TODO 自动生成的方法存根
- System.out.println("向后");
- }
- },LEFT("左") {
- @Override
- public void show() {
- // TODO 自动生成的方法存根
- System.out.println("向左");
- }
- },RIGHT("右") {
- @Override
- public void show() {
- // TODO 自动生成的方法存根
- System.out.println("向右");
- }
- };
- //加入成员变量,并去掉无参构造
- private String name;
- private DirectionEnum3(String name){
- this.name = name;
- }
- public String getName() {
- return name;
- }
- public abstract void show();
- }
- public class DirectionDemo {
- public static void main(String[] args){
- DirectionEnum d = DirectionEnum.FRONT;
- System.out.println(d);
- System.out.println("--------------------------");
- DirectionEnum2 d2 = DirectionEnum2.FRONT;
- System.out.println(d2);
- System.out.println(d2.getName());
- System.out.println("--------------------------");
- DirectionEnum3 d3 = DirectionEnum3.FRONT;
- System.out.println(d3);
- System.out.println(d3.getName());
- d3.show();
- d3 = DirectionEnum3.BEHIND;
- System.out.println(d3);
- System.out.println(d3.getName());
- d3.show();
- }
- }