zoukankan      html  css  js  c++  java
  • 枚举

    package meiju;
    public class yunxing {
    
        public static void main(String[] args)
    
        {
            System.out.print(Weekday.A);
        }
    }
    
    /*class Weekday
    
    {
    
       public static final Weekday A=new Weekday();
    
       public static final Weekday B=new Weekday();
    
       public static final Weekday C=new Weekday();
    
       public static final Weekday D=new Weekday();
    
       public static final Weekday E=new Weekday();
    
       public static final Weekday F=new Weekday();
    
       public static final Weekday G=new Weekday();
    
    }*/ 
    
    enum Weekday {  A,B,C,D,E; }   //和上面构造的Weekday类功能相同

    ***************************************************************************************

    如何定义枚举的构造函数、方法和字段去封装更多的信息

    package meiju;
    
    public class yunxing {
        public static void main(String[] args)
        {
            dayin(Weekday.A);
        }
        public static void dayin(Weekday g)//封装打印函数
        {
            String value=g.getWeekday();
            System.out.print(value);
        }
    
    }
    //如何定义枚举的构造函数、方法和字段去封装更多的信息
    enum
    Weekday { A("MOD"),B("TUE"); private String value; private Weekday(String value) //构造函数,必须私有化!因为如果是公有,便可以构造出除了枚举之外的对象 { this.value=value; } public String getWeekday() //获取,因为这个函数在主函数中还要调用,所以必须是public!! { return this.value; } }

    &&&&&&&&&&&&&&&&&&&&&上下两个程序相比较
    package meiju;
    class yunxing
    {
       public static void main(String[] args)
       {
           System.out.print(Weekday.C);
       }
    }
    class Weekday
    {
        static String A = "MOD";
        static String B = "TUE";
        static String C = "WEN";
    }
    
    
    
    
    

     **********************************************************************************************************

    带抽样方法的枚举

    package meiju;
    
    public class yunxing {
        public static void main(String[] args)
        {
            dayin(Weekday.B);
        }
        public static void dayin(Weekday g)//封装打印函数
        {
            String value=g.Chinese();
            System.out.print(value);
        }
    
    }
    //带抽样方法的枚举
    enum Weekday
    {
        A("MOD")
        {
            public  String Chinese()//实现下面定义的抽样方法
            {
                return "星期一";
            }
        }
        ,B("TUE")
        {
            public  String Chinese()
            {
                return "星期二";
            }
        };
        private String value;
        private Weekday(String value)  //把MOD付给A
        {
            this.value=value;
        }
        public String getWeekday()  //获取
        {
            return this.value;
        }
        public abstract String Chinese();//定义抽样方法,定义了之后在枚举的对象里必须实现抽样方法,要不会报错。
       
    }

     *******************************************************************************************

    自己写个小例子加强理解

    package meiju;
    
    public class yunxing
    {
        public static void main(String[] args)
        {
            dayin(jieshao.C);
            dayin1(jieshao.C);
        }
        public static void dayin(jieshao a)
        {
            String name=a.getname();
            System.out.println(name);
        }
        public static void dayin1(jieshao a)
        {
            String nianling=a.getage();
            System.out.println("我今年"+nianling+"岁了");
        }
    }
    enum jieshao
    {
       A("12")
       {
           public String getname()
           {
               return "我叫张三";
           }
       },
       B("13")
       {
           public String getname()
           {
               return "我叫李四";
           }
       },
       C("14")
       {
           public String getname()
           {
               return "我叫王五";
           }
       },
       D("17")
         {
           public String getname()
           {
               return "我叫赵六";
           }
       };
       private String age;
       private jieshao(String age)
       {
           this.age=age;
       }
       public String getage()
       {
           return this.age;
       }
       public abstract String getname();
    }
  • 相关阅读:
    flex space-between最后一行对齐问题的解决方案
    如何在父级下访问v-slot的值——vuejs
    flex下省略号的问题解决
    Typescript使用字符串联合类型代替枚举类型
    flex三个对齐属性的记忆方式
    JS中的slice()和splice()的区别以及记忆方式
    JS中的call,apply和bind及记忆方式
    Vue 还是 React 还是 Angular ?
    利用ES6的Promise.all实现至少请求多长时间
    .net core <environment> 不起作用
  • 原文地址:https://www.cnblogs.com/jjlovemm/p/4246284.html
Copyright © 2011-2022 走看看