java中enum的用法
java中enum的用法
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了java中enum的用法。分享给大家供大家参考。具体分析如下:1.基本用法复制代码代码如下:enumDay{SUNDAY,MO...

本文实例讲述了java中enum的用法。分享给大家供大家参考。具体分析如下:

1. 基本用法

复制代码 代码如下:enum Day {

SUNDAY, MONDAY, TUESDAY, WENDSDAY, THURSDAY, FRIDAY, SATURDAY;

}

枚举是常量,所以应该用大写。

2. 枚举是对象

枚举隐含地继承了java.lang.Enum,所以它具有java.lang.Enum的属性和方法。遍历枚举:

复制代码 代码如下:public class Main {

public static void main(String[] args) {

for(Day day:Day.values()) {

System.out.println(day);

}

}

}

3. 枚举可以带字段和方法,以下示例来自官方The Java™ Tutorials

复制代码 代码如下:public enum EnumDemo {

AOBJECT("field one", "field two");

private String field1;

private String field2;

EnumDemo(String val1, String val2){

this.field1 = val1;

this.field2 = val2;

}

public void printFields(){

System.out.println(this.field1);

System.out.println(this.field2);

}

public static void main(String[] args) {

EnumDemo.AOBJECT.printFields();

}

}

以下现实中的示例来自官方的Java Tutorial:

复制代码 代码如下:public enum Planet {

MERCURY (3.303e+23, 2.4397e6),

VENUS (4.869e+24, 6.0518e6),

EARTH (5.976e+24, 6.37814e6),

MARS (6.421e+23, 3.3972e6),

JUPITER (1.9e+27, 7.1492e7),

SATURN (5.688e+26, 6.0268e7),

URANUS (8.686e+25, 2.5559e7),

NEPTUNE (1.024e+26, 2.4746e7);

private final double mass; // in kilograms

private final double radius; // in meters

Planet(double mass, double radius) {

this.mass = mass;

this.radius = radius;

}

private double mass() { return mass; }

private double radius() { return radius; }

// universal gravitational constant (m3 kg-1 s-2)

public static final double G = 6.67300E-11;

double surfaceGravity() {

return G * mass / (radius * radius);

}

double surfaceWeight(double otherMass) {

return otherMass * surfaceGravity();

}

public static void main(String[] args) {

Double earthWeight = 120;

for(Planet p: Planet.values()){

System.out.println(p.surfaceGravity());

System.out.println(p.surfaceWeight(earthWeight/EARTH.surfaceGravity()));

}

}

}

4. 枚举是singleton,可以用枚举来构建一个Singleton

复制代码 代码如下:public enum Singleton {

INSTANCE(new String[]{"arg1", "arg2"});

String[] myArgs;

Singleton(String[] args){

this.myArgs = args;

}

public static Singleton getInstance(){

return INSTANCE;

}

public static void main(String[] args) {

for(String arg : INSTANCE.myArgs)

System.out.println(arg);

}

}

希望本文所述对大家的Java程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类