首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java枚举门类的基本用法

2012-11-09 
java枚举类型的基本用法?1 枚举类型等效于定义static finally 常量2. 枚举类型可以有自己的属性(参数)和方

java枚举类型的基本用法

?

1 枚举类型等效于定义static finally 常量

2. 枚举类型可以有自己的属性(参数)和方法

3. 枚举类型可以以独立的文件存在

?

最简单的枚举类型:

public enum Belle {

??? para1, ?para2, ?para3, ?para4;

}

?

调用:

??????? for (Belle belle : Belle.values()) { //遍历枚举中所有的对象

??????????? System.out.println(belle.name()); //输出每一个枚举的名称

??????? }

要取出某个指定名称的枚举成员 可用 Belle.para1(注意:因为枚举对象默认是static final 其成员对象都是stastic 属性, 直接调用),也可以用 Belle.valueOf("para1")

?

稍复杂的枚举类型:

public enum Belle {

?????? para1("this is para1"),

?????? para2("this is para3"),

?????? para3("this is para3"),

?????? para4("this is para4");

?

??? public final String str; //定义枚举成员属性

?

??? Belle(String str) { //内部方法设定枚举成员属性

?????? this.str = str;

??? }

}

?

这样就每一个枚举成员就有了属性,可以定义多个属性,每个属性必须在内部方法中set(例如this.str = str;)

调用时用这样的格式取值 belle.str

枚举成员就的属性可以不光是字符串,可以是任意对象

?

更复杂的枚举类型:

public enum Belle {

?

??? para1("this is para1") {

?????? public String event() { //实现枚举成员的方法

?????????? return "i am? a mtthod of para1";

?????? }

??? },

?

??? para2("this is para3") {

?????? public String event() { //实现枚举成员的方法

?????????? return "i am? a mtthod of para2";

?????? }

??? },

?

??? para3("this is para3") {

?????? public String event() { //实现枚举成员的方法

?????????? return "i am? a mtthod of para3";

?????? }

??? };

?

??? public final String str; //定义枚举成员属性

?

??? Belle(String str) { //内部方法设定枚举成员属性

?????? this.str = str;

??? }

?

??? public abstract String event();//定义枚举成员的方法

?

}

?

这样就每一个枚举成员就有了自己的方法,可以定义多个方法,方法必须以抽象方法的形式作声明(例如 abstract String event();) 一个方法一旦定义了就必须在每一个枚举成员中得到实现。

调用方法时用这样的格式 belle.event();

热点排行