美文网首页
2_枚举类

2_枚举类

作者: 真是个点子王 | 来源:发表于2020-11-26 13:56 被阅读0次

    枚举的作用

    • 枚举是用于信息标志和信息分类

    枚举类的格式

    • 修饰符 enum 枚举名称{
      实例1名称,实例2名称...;
      }
      • 枚举类的第一行罗列的必须是枚举类的对象名称
      • 实例代码:
    public class EnumDemo {
    }
    // 枚举
    enum Season {
        SPRING , SUMMER , AUTUMN , WINTER;
    }
    
    • 对代码进行反编译
     public final class Season extends java.lang.Enum<Season> {
            public static final Season SPRING = new Season();
            public static final Season SUMMER = new Season();
            public static final Season AUTUMN = new Season();
            public static final Season WINTER = new Season();
    
            public static Season[] values();
            public static Season valueOf(java.lang.String);
        }
    
    • 枚举类的特点:
        1. 枚举类是final修饰的,不能被继承;
        1. 枚举类默认继承了枚举类型:java.lang.Enum;
        1. 枚举类的第一行罗列的是枚举类的对象,而且是用常量存储的;
        1. 所以枚举类的第一行写的都是常量名称,默认存储了枚举对象;
        1. 枚举类的构造器是私有的;
        1. 枚举类相当于是多例模式。

    枚举类用于做信息标志和信息分类

    • 引入:利用常量做信息标志和分类
    // 利用常量做信息标志和分类
    public class EnumDemo02 {
       
        public static final int UP = 0;
        public static final int DOWN = 1;
        public static final int LEFT = 2;
        public static final int RIGHT = 3;
        public static void main(String[] args) {
            move(RIGHT);
        }
    
        // 提供一个方法控制玛丽的方向。
        // 上下左右  0 1 2 3
        public static void move(int oritatin){
            switch (oritatin){
                case UP:
                    System.out.println("让🐎往👆蹦~~~~");
                    break;
                case DOWN:
                    System.out.println("让🐎往👇蹦~~~~");
                    break;
                case LEFT:
                    System.out.println("让🐎往👈蹦~~~~");
                    break;
                case RIGHT:
                    System.out.println("让🐎往👉蹦~~~~");
                    break;
                default:
                    System.out.println("蒙蔽了~~~~");
            }
        }
    }
    
    • 利用常量的方法,约束的强制性并不够,程序编写时任然可以使用数字执行逻辑。虽然也挺好,但是入参不受控制,入参随意性无法严谨
    • 利用枚举做信息标志和分类。
    enum Oritation{
        UP, DOWN, LEFT, RIGHT;
    }
    public class EnumDemo02{
        public static void main(String[] args){
            move(Oritation.RIGHT);
        }
    
        public static void move(Oritation oritation){
            switch(oritation){
                case UP:
                    System.out.println("让🐎往👆蹦~~~~");
                    break;
                case DOWN:
                    System.out.println("让🐎往👇蹦~~~~");
                    break;
                case LEFT:
                    System.out.println("让🐎往👈蹦~~~~");
                    break;
                case RIGHT:
                    System.out.println("让🐎往👉蹦~~~~");
                    break;
                default:
                    System.out.println("蒙蔽了~~~~");
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:2_枚举类

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