java中的enum_java中enum的用法

本文详细介绍了Java中枚举类型的用法,包括基本定义、枚举作为对象的特性、带有字段和方法的枚举,以及如何用枚举实现Singleton模式。通过示例代码展示了枚举的遍历、自定义方法以及如何计算星球表面重力等应用。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了java中enum的用法,包括了枚举类型的基本定义及用法分析,对于学习Java有着一定的学习与借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值