美文网首页
Java枚举和类的异同

Java枚举和类的异同

作者: 慕辙 | 来源:发表于2019-03-18 08:39 被阅读0次

    了解了java结构中的类,变量,方法,那枚举是什么呢?枚举是一种特殊的类,它定义了一系列有关联的常量,代表一种特定的含义。

    枚举和类的区别

    • 枚举(enum)和普通的类一样,有成员变量,成员方法,构造器。
    • 但枚举是静态不可变更的,所有的枚举值都是 public static final 的,非抽象的枚举类不能再派生子类。
    • 构造方法是私有的,由private修饰,防止enum被拓展。
    • 类中包含自身的常量对象。
      例子:
    
    public enum Day {
        MORNING("上午"), AFTERNOON("下午"), EVENING("晚上");
    
        private String period;
    
        Day(String period) {
            this.period = period;
        }
    
        public void setPeriod(String peroid) {
            this.period = period;
        }
    
        public String getPeriod() {
            return this.period;
        }
    
        @Override
        public String toString() {
            return period;
        }
    }
    
    

    枚举相比于常量来说优势:

    • 枚举值由固定名称区分,结构清晰
    • 内容在声明时就已经区分
    • 拓展性好,比如:EnumMap, EnumSet 的支持,以及 iterable 等接口的支持

    相关文章

      网友评论

          本文标题:Java枚举和类的异同

          本文链接:https://www.haomeiwen.com/subject/vzmpmqtx.html