• Java基础--枚举Enum


    Java中的枚举是一种特殊的类,可以将一组固定常量的集合组成一种类型,使用方便且类型安全。使用enum关键字定义。

    enum类型父类为Enum,通过Enum.class可见Enum为抽象类,实现了Comparable<E>和Serializable接口。

    私有属性name表示enum值的名称,可通过name()函数和toString()方法访问,可使用valueOf(String)将enum值的名字转变成enum值。

    私有属性ordinal表示enum值定义时的顺序,可通过ordinal()函数访问,compareTo()方法按照ordinal来比较大小。

    外界不可访问Enum的构造器,故它是实例受控的。

    enum值不可被clone,保证单例,clone方法final,不可被子类重写。

    enum值不可被反序列化,保证单例。

    enum类型允许添加任意方法和域,可实现任意接口,可以包含内部类。

    例子

    ----------------

    package demos.myenum;
    
    public enum MyEnum {
        
        ONE(1){public void print(){System.out.println(this.toString());}},
        
        TWO(2){public void print(){System.out.println(this.ordinal());}},
        
        THREE(3),
        
        FORE(4);
        
        private int value;
        
        public String desc;
        
        MyEnum(int a){
            System.out.println(super.name());
            value = a;
        }
        
        public void print(){
            System.out.println(this.value);
        }
        
        public static void main(String[] args) {
            
            MyEnum.FORE.value=123;
            
            MyEnum.FORE.print();
            
            MyEnum a  =MyEnum.valueOf("FORE");
            
        }
    
    }

    ----------------

  • 相关阅读:
    触摸屏单点USB HID设置(老外写的 我看着基本没什么问题)
    USB 字段和包格式(1)
    LPC1343整理
    USB枚举和HID枚举实例(6)
    USB/HID设备报告描述符详解 (3)
    C# 值类型与引用类型(1)
    USB组合设备(5)
    千里之行,始于脚下
    c#中的结构体类型
    sqlmap 学习指南
  • 原文地址:https://www.cnblogs.com/luangeng/p/5778304.html
Copyright © 2020-2023  润新知