zoukankan      html  css  js  c++  java
  • 枚举类型

    以往设置常量,通常将常量放在接口当中,这样就可以在程序中被使用,这种常量不可以修改,因为修饰符是final,代码如下

    public interface ConStants{
        public static final int Constants_A=1;
        public static final int Constants_B=21;
    }

    定义枚举类型的关键字:enum

       compareTo():调用方法compareTo()方法返回的结果,正值代表方法中的参数在调用该方法的枚举对象位置之前;0代表两个互相比较的枚举成员的位置相同。负值代表方法中参数的位置在调用该方法的枚举变量之后。

      ordinal:获取索引。

    枚举类型中的构造方法:在枚举类型中可以增加构造方法,但是构造方法的修饰符必须是private

    源码如下:

    import static java.lang.System.out;
    public class TestEnum {
        enum Constants{
            Constants_A("我是枚举成员A"),//构造函数 TestEnum.Constants2(String)未定义
            Constants_B("我是枚举成员B"),
            Constants_C("我是枚举成员C"),
            Constants_D(3);
            private String description;
            private int i=4;
            private Constants() {
                
            }
            //定义参数为String型的构造方法
            private Constants(String description) {
                this.description=description;
            }
            private Constants(int i) {
                this.i=this.i+i;
            }
            public String getDescription() {
                return description;
            }
            public int getI() {
                return i;
            }
            
        }
        public static void main(String[] args) {
            for(int i=0;i<Constants.values().length;i++) {
                out.println(Constants.values()[i]+"调用getDescription方法为:"
            +Constants.values()[i].getDescription());
            }
            out.println(Constants.valueOf("Constants_D")+"调用getI()方法为:"
            +Constants.valueOf("Constants_D").getI());
        }
    }

    除了以上方法,还可以将这个getDescription()方法放置在接口中,使枚举类型实现该接口,然后使每个枚举类型实现带方法的接口,使每个枚举类型成员实现该接口中的方法

    枚举类型声明提供了一种用户友好的变量定义方法,枚举了某种数据类型所有可能出现的值,总结以下特点:

    •   类型安全
    •   紧凑有效的数据定义
    •   可以和其他程序完美交互
    •   运行效率高
  • 相关阅读:
    [LC] 244. Shortest Word Distance II
    函数默认参数问题
    函数的传参问题
    a,b = b,a 换值问题
    判断一个对象是否为真 __nonzero__ 方法和 __len__方法
    python 的None 探究
    scala-学习 1
    neo4j 学习-2
    neo4j 学习-1
    回顾一下类和对象以及继承关系
  • 原文地址:https://www.cnblogs.com/tutuhome/p/10664952.html
Copyright © 2011-2022 走看看