详解java枚举用法及实例

网友投稿 219 2023-05-24


详解java枚举用法及实例

一、枚举类型作为常量

package myenum;

/**

* @author zzl

* 简单的枚举作为常量

*/

public enum Color {

GREEN,RED,YELLOW;

public static void main(String[] args) {

for (Color c : values()) {

System.out.println("color:"+c);

}

}

}

//输出

/**

color:GREEN

color:RED

color:YELLOW

*/

其实在更近一步的话我们可以输出每个枚举实例的具体位置

package myenum;

/**

* @author zzl

* 简单的枚举作为常量

*/

public enum Color {

GREEN,RED,YELLOW;

public static void main(String[] args) {

for (Color c : values()) {

System.out.println(c + " position "+c.ordinal());

}

}

}

//输出结果

/**

GREEN position 0

RED position 1

YELLOW position 2

*/

二、与swith结合使用

public enum Color {http://

GREEN,RED,YELLOW;

public static void main(String[] args) {

Color c = RED;

switch (c) {

case RED:

System.out.println("红色");

break;

case GREEN:

System.out.println("绿色");

break;

case YELLOW: TNKeeM

System.out.println("黄色");

break;

default:

break;

}

}

}

//输出

/**

红色

*/

从上面的例子可以看出枚举的多态性,其实可以讲Color作为枚举的超类,其中的实例在运行时表现出多态。(如上面的输出结果为红色,下面的例子来验证这一特性。)

三、多态性(在Color中添加抽象方法)

public enum Color {

GREEN{

void description(){

System.out.println("绿灯行!");

}

},RED{

void description(){

System.out.println("红灯停!");

}

},YELLOW{

void description(){

System.out.println("黄灯亮了等一等!");

}

};//如果枚举中有方法则左后一个实例以“;”结束

abstract void description();

public static void main(String[] args) {

for (Color c : values()) {

c.description();

}

}

}

/**

绿灯行!

红灯停!

黄灯亮了等一等!

*/

四、利用构造器为实例添加描述

public enum ColoStructure {

GREEN("绿色"),RED("红色"),YELLOW("黄色");//如果枚举中有方法则左后一个实例以“;”结束

public String description;

private ColoStructure(String des){

this.description = des;

}TNKeeM

public static void main(String[] args) {

for (ColoStructure c : values()) {

System.out.println(c.description);

}

}

}

/**

绿色

红色

黄色

*/

希望本文可以帮到有需要的朋友


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:深入理解java泛型详解
下一篇:Vue组件tree实现树形菜单
相关文章

 发表评论

暂时没有评论,来抢沙发吧~