zoukankan      html  css  js  c++  java
  • java enmu 使用说明

        java enum不太常用,但是作为一个重要的类型,会在很多开源项目中看到,总结一下。

        enum 用来保存一系列常量,如每周的日子,太阳系的行星。简单的列子如下:

        public enum Day {
           SUNDAY,MONDAY,TUESDAY,THURSDAY,WEDNESDAY,FRIDAY
        }

        public class EnumTest {
        Day day;

        public EnumTest(Day day) {
           this.day = day;
         }

        public void tellMeWhey() {
           switch (day) {
             case MONDAY:
                  System.out.println("this is monday");
             case FRIDAY:
                  System.out.println("friday i am in love");
             default:
                  System.out.println("it is just a normal day");
            }
        }
    }

        此外,enum在java中功能要强于其他语言,可以将enum 类似于class来使用,比如可以定义构建函数,定义方法等。例子如下:

    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);
    
        // in kilograms
        private final double mass;
        // in meters
        private final double radius;
        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) {
            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));
        }
    }
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 高精度乘法
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    Java实现 蓝桥杯VIP 算法提高 现代诗如蚯蚓
    ddd
  • 原文地址:https://www.cnblogs.com/sidmeng/p/2369221.html
Copyright © 2011-2022 走看看