本文是学习网络上的文章时的总结以及自己的一点实践,感谢大家无私的分享。
最近在看Java基础方面的书的时候,又遇到了枚举的介绍。在网上查了一些资料,对这些资料进行一些总结。
用法一:常量
package meiju;
/**
*
* @ClassName: Color
* @Description: 枚举变量的常量用法
* @author zhangjunshuai junshuaizhang@163.com
* @date 2014-11-16 下午07:29:40
*
*/
public enum Color {
RED,GREEN,BLANK,YELLOW
}
用法二:switch
package meiju;
/**
*
* @ClassName: Signal
* @Description: 枚举的switch用法
* @author zhangjunshuai junshuaizhang@163.com
* @date 2014-11-16 下午07:33:32
*
*/
enum Signal{
GREEN,YELLOW,RED
}
public class EnumForswitch {
Signal color = Signal.RED;
public void change(){
switch(color){
case RED:
System.out.println("红色");
break;
case YELLOW:
System.out.println("金黄色");
break;
case GREEN:
System.out.println("绿色");
break;
default:
System.out.println("最后");
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
用法三:枚举中的方法
package meiju;
/**
*
* @ClassName: ColorMthod
* @Description: 枚举的方法
* @author zhangjunshuai junshuaizhang@163.com
* @date 2014-11-16 下午07:35:09
*
*/
enum ColorMthod{
RED("红色",1),GREEN("绿色",2),BLANK("白色",3),YELLOW("黄色",4);
private String name;
private int index;
//枚举的构造方法 介个是怎么一回事呢?
private ColorMthod(String name,int index){
this.name = name;
this.index = index;
}
//普通方法
public static String getName(int index){
for(ColorMthod c : ColorMthod.values()){
if(c.getIndex()== index){
System.out.println(c.name);
return c.name;
}
}
return null;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
public class EnumMethod {
/**
* @param args
*/
public static void main(String[] args) {
ColorMthod.getName(1);
}
}
用法四:覆盖枚举方法
package meiju;
/**
*
* @ClassName: EnumMethodOverride
* @Description: 覆盖方法
* @author zhangjunshuai junshuaizhang@163.com
* @date 2014-11-16 下午07:37:04
*
*/
public class EnumMethodOverride {
public enum ColorMethod{
RED("红色",1),GREEN("绿色",2),BLANK("白色",3),YELLO("黄色",4);
private String name;
private int index;
private ColorMethod(String name,int index){
this.name = name;
this.index = index;
}
@Override
public String toString(){
return this.index+"_"+this.name;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(ColorMethod.RED);
}
}
用法五:实现接口
package meiju;
/**
*
* @ClassName: Behavior
* @Description: 枚举实现接口
* @author zhangjunshuai junshuaizhang@163.com
* @date 2014-11-16 下午07:39:28
*
*/
interface Behavior{
void print();
String getInfo();
}
enum ColorInterface implements Behavior{
RED("红色",1),GREEN("绿色",2),BLANK("白色",3),YELLOW("黄色",4);
private String name;
private int index;
private ColorInterface(String name,int index){
this.name = name;
this.index = index;
}
public String getInfo(){
return this.name;
}
public void print(){
System.out.println(this.index+":"+this.name);
}
}
public class EnumInterface {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated metho