源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java中enum的用法

  • 时间:2021-07-09 18:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java中enum的用法
本文实例讲述了java中enum的用法。分享给大家供大家参考。具体分析如下: [b]1. 基本用法 [/b]
[u]复制代码[/u] 代码如下:
enum Day {     SUNDAY, MONDAY, TUESDAY, WENDSDAY, THURSDAY, FRIDAY, SATURDAY; }
枚举是常量,所以应该用大写。 [b]2. 枚举是对象[/b] 枚举隐含地继承了java.lang.Enum,所以它具有java.lang.Enum的属性和方法。遍历枚举:
[u]复制代码[/u] 代码如下:
public class Main {     public static void main(String[] args) {         for(Day day:Day.values()) {             System.out.println(day);         }     } }
[b]3. 枚举可以带字段和方法[/b],以下示例来自官方The Java™ Tutorials
[u]复制代码[/u] 代码如下:
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:
[u]复制代码[/u] 代码如下:
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()));         }     } }
[b]4. 枚举是singleton,可以用枚举来构建一个Singleton [/b]
[u]复制代码[/u] 代码如下:
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程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部