java 枚举enum定义的方法与位置。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 枚举enum定义的方法与位置。相关的知识,希望对你有一定的参考价值。
我能不能把enum定义在一个单独的.java文件中?就像其他类一样。如果可以,其他的类怎么引用这个枚举呢?
可以的,枚举的定义是这样的public enum SEX
MEN,WOMEN;
在其它类中引用枚举非常简单,可以向以前使用的java中的常量一样使用。
如
SEX.MEN或SEX.WOMEN
枚举和一般的类是一样的,有一个好处就是你使用的时候不用创建对象了,java帮我们创建好了。当然,在枚举里面也可以定义方法,建议你看一下这方面的书籍。 参考技术A
java枚举定义的方法:
1.原始的接口定义常量
public interface IConstantsString MON = "Mon";
String TUE = "Tue";
String WED = "Wed";
String THU = "Thu";
String FRI = "Fri";
String SAT = "Sat";
String SUN = "Sun";
2.使用的位置如下,一般在switch语句中使用:
package com.hmw.test;
/**
* 枚举测试类
* @author <a href="mailto:hemingwang0902@126.com">何明旺</a>
*/
public enum EnumTest
MON, TUE, WED, THU, FRI, SAT, SUN;
这段代码实际上调用了7次 Enum(String name, int ordinal):
new Enum<EnumTest>("MON",0);
new Enum<EnumTest>("TUE",1);
new Enum<EnumTest>("WED",2);
... ...
遍历、switch 等常用操作
对enum进行遍历和switch的操作示例代码:
public class Test
public static void main(String[] args)
for (EnumTest e : EnumTest.values())
System.out.println(e.toString());
System.out.println("----------------我是分隔线------------------");
EnumTest test = EnumTest.TUE;
switch (test)
case MON:
System.out.println("今天是星期一");
break;
case TUE:
System.out.println("今天是星期二");
break;
// ... ...
default:
System.out.println(test);
break;
输出结果:
MON
TUE
WED
THU
FRI
SAT
SUN
参考技术B 你完全可以把enum看成标准的一个类。
一样可以命名包,导入。
枚举常量在比较时,需要使用equals或compareTo方法。
switch选择时,可直接使用枚举常量值。本回答被提问者采纳
枚举 Enum
枚举是java 5新增了一个menu关键字(它与class、interface关键字的地位相同),
用于定义枚举,枚举是一种特殊的类,它一样有自己的Fileld、方法,可以实现一个或多个接口,也可以定义自己的构造器。
一个java源文件中最多只能定义一个public访问权限的枚举类,且该java源文件也必须和枚举类的类名相同。
但枚举毕竟不是普通的java类,它与普通类有如下简单的区别:
1、枚举类可以实现一个活多个接口,使用menu定义的枚举直接继承了java.long.Enum类,而不是继承Object类。其中java.long.Enum类实现了java.long.Serializable和java.long.Comparable两个接口。
2、使用enum定义、非抽象的枚举默认修饰符为final,因此枚举不能派生子类。
3、枚举的构造器只能使用private访问控制符,如果省略了枚举的访问修饰符其默认为private修饰;如果加强制定访问修饰符则只能使用private。
4、枚举的所有实例必须在枚举的第一行显示列出,否则这个枚举永远都不能生产实例,列出这些实例时系统会自动添加public static final修饰,无需程序员显式添加
5、所有的枚举类都提供了一个values方法,该方法可以很方便的遍历所有的枚举值
以上是关于java 枚举enum定义的方法与位置。的主要内容,如果未能解决你的问题,请参考以下文章