- Java类
- Java包
- Java方法
- Java访问
- Java创建
- Java对象(Object)
- Java内部类
- Java继承
- Java抽象类
- Java泛型类
- Java异常
- Java接口
- Java枚举
- Java注解
Java枚举方法
因为枚举类型实际上是一个类,所以可在枚举类型体中声明一切,也可在类体中声明它。
以下代码使用字段,构造函数和方法定义了一个名为 Level
的枚举。
public enum Level { LOW(30), MEDIUM(15), HIGH(7), URGENT(1); // Declare an instance variable private int levelValue; // Declare a private constructor private Level(int levelValue) { this.levelValue = levelValue; } public int getLevelValue() { return levelValue; } }
上面的代码声明了一个实例变量levelValue
,它将为每个枚举常量存储一个值。它还定义了一个私有构造函数,它接受一个int
参数。 它将其参数的值存储在实例变量中。
可以向枚举类型添加多个构造函数。但不能向枚举类型添加公共或受保护的构造函数。
Level
枚举中声明一个公共方法getLevelValue()
。枚举常量声明已更改为 -
LOW(30), MEDIUM(15), HIGH(7), URGENT(1);
现在每个枚举常量名称后面都跟着括号中的整数值。LOW(30)
是调用int
参数类型的构造函数的缩写。当创建枚举常量时,括号中的值将被传递给添加的构造函数。LOW
调用默认的无参数构造函数,而LOW(30)
调用有参数的构造函数。
示例
以下代码测试Level
枚举类型。它打印常量的名称,序数值和它们的下划线值。
enum Level { LOW(30), MEDIUM(15), HIGH(7), URGENT(1); // Declare an instance variable private int levelValue; // Declare a private constructor private Level(int levelValue) { this.levelValue = levelValue; } public int getLevelValue() { return levelValue; } } public class Main { public static void main(String[] args) { for (Level s : Level.values()) { String name = s.name(); int ordinal = s.ordinal(); int underLine = s.getLevelValue(); System.out.println("name=" + name + ", ordinal=" + ordinal + ", underLine=" + underLine); } } }
上面的代码生成以下结果。
name=LOW, ordinal=0, underLine=30 name=MEDIUM, ordinal=1, underLine=15 name=HIGH, ordinal=2, underLine=7 name=URGENT, ordinal=3, underLine=1
上一篇:Java Enum类
下一篇:Java枚举体
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王