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

java枚举类型理解

2013-01-02 00:27 218 查看
package com.dada.test;

public class TestEnum {
public static void main(String[] args) {
/*枚举是这样的特殊类,它里面的每一个元素的类型和枚举本身的类型是一样的
(实际上把枚举类型的里面的所有的元素都看成是枚举本身的子类更加合适)
比如SexType1中的里面的所有元素的类型都是SexType1*/
System.out.println(SexType1.NONE.getClass().getName());
/*
因此如果枚举类里面如果包含了方法,如果是一般方法,那么枚举类型里面的所有
的元素都会默认的含有此方法,如果枚举类里面包含的是抽象方法,那么枚举类型
里面的所有元素都需要实现这个抽象方法。
*/
System.out.println(SexType2.NONE.getName());
System.out.println(SexType3.NONE.getName());
}
}

/**
*没有添加方法的枚举
*/
enum SexType1{
NONE,
MAN,
WOMAN;
//没有其他方法的情况下分号 ";" 可以加也可以不加
}

/**
*添加了一般方法的枚举
*/
enum SexType2{
NONE,
MAN,
WOMAN;
//添加了其他方法的情况下分号 ";" 必须要有
public String getName() {
return "没有设置性别!";
}
}

/**
*添加了抽象方法的枚举
*/
enum SexType3{
NONE {
@Override
public String getName() {
// TODO Auto-generated method stub
return "男女均可";
}
},
MAN {
@Override
public String getName() {
// TODO Auto-generated method stub
return "男士专属";
}
},
WOMAN {
@Override
public String getName() {
// TODO Auto-generated method stub
return "女士专属";
}
};
//如果添加了抽象的方法,那么枚举的每一个元素都需要实现这个方法
public abstract String getName();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: