Java Enum 枚举类型
来源:互联网 发布:mac地址由什么组成 编辑:程序博客网 时间:2024/05/21 07:29
从官网上看到的例子,在代码中加以注释,方便学习
http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
package pan.java.EnumDemo; //enum 等价与class文件 public enum Day { //枚举值的声明必须在 fields methosd 之前 SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY;//可以定义fieldspublic int a=2;//可以定义 methodspublic void show(){ System.out.println(a);}//enum 的构造器必须是 package-private(什么都不写就是package-private) or private access Day(){}}package pan.java.EnumDemo;public class EnumTest { Day day;public EnumTest(Day day) { this.day = day;}public void tellItLikeItIs() { switch (day) { case MONDAY: System.out.println("Mondays are bad."); break; case FRIDAY: System.out.println("Fridays are better."); break; case SATURDAY: case SUNDAY: System.out.println("Weekends are best."); break; default: System.out.println("Midweek days are so-so."); break; }}public static void main(String[] args) { EnumTest firstDay = new EnumTest(Day.MONDAY); firstDay.tellItLikeItIs(); EnumTest thirdDay = new EnumTest(Day.WEDNESDAY); thirdDay.tellItLikeItIs(); EnumTest fifthDay = new EnumTest(Day.FRIDAY); fifthDay.tellItLikeItIs(); EnumTest sixthDay = new EnumTest(Day.SATURDAY); sixthDay.tellItLikeItIs(); EnumTest seventhDay = new EnumTest(Day.SUNDAY); seventhDay.tellItLikeItIs(); //特殊方法 values() 返回enum数组 for(Day d:Day.values()){ System.out.println("Day.values() : "+d.toString()); } //不能实例化 enum 类 那还要构造函数干嘛? //Day dd=new Day(); //特殊方法 values() 返回enum数组 Day[] day =Day.values(); for(int x=0;x<=day.length-1;x++){ System.out.println("Day.values() : "+day[x]); } //所有的enum 都隐式的继承了 java.lang.Enum}}package pan.java.EnumDemo;public enum Planet { //这样使用 enum 的构造函数 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 kilogramsprivate final double radius; // in metersPlanet(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) { if (args.length != 1) { System.err.println("Usage: java Planet <earth_weight>"); System.exit(-1); } double earthWeight = Double.parseDouble(args[0]); double mass = earthWeight/EARTH.surfaceGravity(); for (Planet p : Planet.values()) System.out.printf("Your weight on %s is %f%n", p, p.surfaceWeight(mass));}}
0 0
- Java enum 枚举类型
- JAVA枚举类型Enum
- [Java] enum 枚举类型
- Java enum 枚举类型
- java enum 枚举类型
- java枚举类型enum
- Java Enum 枚举类型
- Java枚举类型enum
- Java Enum 枚举类型
- java枚举类型 Enum
- Java枚举类型enum
- java Enum枚举类型
- java enum 枚举类型
- java枚举类型Enum 整合
- java.lang.Enum枚举类型
- java.lang.Enum 枚举类型
- Java中的枚举类型Enum
- JAVA-枚举类型enum详细
- PHP设计模式——简单工厂
- hdu 2164 Beat
- 一个简单的排序小算法
- 基因牛
- 每个程序员都必须遵守的编程原则
- Java Enum 枚举类型
- 奇怪的分式
- Shell入门:掌握Linux,OS X,Unix的Shell环境
- Android 自定义ListView
- Hdoj 1024 Max Sum Plus Plus 【DP】
- Leetcode3:Pascal's Triangle
- Android开发——Android杂乱整理
- hdu 1253 胜利大逃亡 队列
- BZOJ 3262(树套树)