• 枚举类型


    应用“enum”关键字来声明一个枚举类型,声明方法为:

    public enum enumlist{  //定义枚举类型成员

      成员1,成员2,成员3,……成员n

    }

    定义好枚举类型变量后,在程序中调用的方法为:

    enumlist list=enumlist.成员n;

    示例代码:

    package cn.cjj.basic;

    import org.junit.Test;

    public class demo3_meiju {
    //如何定义枚举的构造函数、方法和字段,去封装更多的信息
    /*@Test
    public void test(){
    print(Grade.B);
    }
    public void print(Grade g){
    String value2=g.getValue();
    System.out.println(value2);
    }
    //枚举,相当于定义了一个类
    enum Grade{
    A("100-90"),
    B("89-80"),
    C("79-70"),
    D("69-60"),
    E("59-0");

    private String value;//封装每个对象对应的分数
    private Grade(String value){
    this.value=value;
    }

    public String getValue(){
    return this.value;
    }
    }
    */
    //带抽象方法的枚举
    @Test
    public void test2(){
    //获取枚举类的类名
    System.out.println(Grade2.C.name());
    //获取枚举类的位置
    System.out.println(Grade2.C.ordinal());
    //获取字符串枚举,监测传的类是否是自己写的枚举值
    String str="B";
    Grade2 g=Grade2.valueOf(str);
    System.out.println(g);
    //返回所有的枚举值,返回的是数组
    Grade2 gs[]=Grade2.values();
    for(Grade2 g1:gs){
    System.out.println(g1);
    }
    print2(Grade2.B);
    }
    public void print2(Grade2 g){
    String value=g.localValue();
    System.out.println(value);
    }
    enum Grade2{
    A("100-90"){
    public String localValue(){
    return "优";
    }
    },
    B("89-80"){
    public String localValue(){
    return "优";
    }
    },
    C("79-70"){
    public String localValue(){
    return "优";
    }
    },
    D("69-60"){
    public String localValue(){
    return "优";
    }
    },
    E("59-0"){
    public String localValue(){
    return "优";
    }
    };

    private String value;//封装每个对象对应的分数
    private Grade2(String value){
    this.value=value;
    }

    public String getValue(){
    return this.value;
    }

    public abstract String localValue();
    }
    }

  • 相关阅读:
    Python 多线程,文件io
    Python map/reduce函数式编程
    LeetCode 77 组合
    LeetCode 198 打家劫舍
    LeetCode 138 复制带随机指针的链表
    LeetCode 445 两数相加 II
    LeetCode 2 两数相加
    LeetCode 215 数组中的第K个最大元素
    和为S的两个数字
    数组中重复的数字
  • 原文地址:https://www.cnblogs.com/JJ-Chen/p/4474871.html
Copyright © 2020-2023  润新知