• java中的枚举enum


    个人感觉,枚举类和普通的java类区别不是很大,接下来简单的回忆一下枚举类

    1.创建一个枚举类 Gender

    public enum Gender {
      
    }

     和普通的测试类 GenderTest

    public class GenderTest {
    
    }

    2.枚举类介绍

    ①在枚举类中添加两个变量

    public enum Gender {
        male,female;
    }

      在测试类中直接输出

    @Test
    public void test(){
        Gender male = Gender.male;
        System.out.println(male);
    }

    最后输出  

    male

    其实,枚举类中的male,female相当于自动给你new 了两个Gender实例。枚举类中的构造函数是私有的,即不能使用 Gender male = new Gender();

    这样普通java类创建实例的方法。

    ②给枚举类加方法

    在Gender枚举类中添加方法

    public int getAge(){
        return 1;
    }

    在测试类中

    @Test
    public void test2(){
        Gender male = Gender.male;
        System.out.println(male.getAge());
    }

    输出   1

    ③用构造器给参数赋值

    public enum Gender {
        //和new一样,要给构造器传值
        male("male-text"),female("female-text");
        
        //带参数构造器 覆盖默认构造器
        private Gender(String text){
            this.text=text;
        }
        
        private String text;
        public String getText() {
            return text;
        }
        public void setText(String text) {
            this.text = text;
        }
    }

    测试

    @Test
    public void test3(){
        Gender male = Gender.male;
        System.out.println(male.getText());
    }

    输出    male-text

    ④添加抽象方法

    public enum Gender {
        //和new一样,要给构造器传值
        //必须要实现抽象方法
        male("male-text"){
            public int getAge(){
                return 20;
            }
        },female("female-text"){
            public int getAge(){
                return 22;
            }
        };
        
        //带参数构造器 覆盖默认构造器
        private Gender(String text){
            this.text=text;
        }
        
        private String text;
        public String getText() {
            return text;
        }
        public void setText(String text) {
            this.text = text;
        }
        
        //添加一个抽象方法
        public abstract int getAge();
        
    }

    测试

    @Test
    public void test4(){
        Gender male = Gender.male;
        System.out.println(male.getAge());
    }

    输出   20

    3.总结

    从上面的测试可以看出,其实枚举类和普通类还是有很多共性的,或者说是特殊的普通类。

    个人理解,肯定还有很多不足的地方。

  • 相关阅读:
    【python小练】0020
    【python小练】0017-将xls文件内容写入xml文件中
    【python小练】图片爬虫之BeautifulSoup4
    【python小练】0013
    【python小练】0014题 和 0015 题
    【python小练】0012题
    【python小练】0011题
    【python小练】0010
    【python小练】0005
    2018.09.11python学习第1天
  • 原文地址:https://www.cnblogs.com/Iqiaoxun/p/5459759.html
Copyright © 2020-2023  润新知