189 8069 5689

使用jdk5.0新增的enum定义枚举类-创新互联

1、定义步骤:
enum EnumTest {

    //1、提供当前枚举类的对象
    //格式:对象名1(属性1, 属性2, ...),
    //      对象名2(属性1, 属性2, ...),
    //      对象名3(属性1, 属性2, ...);

    STUDENT("学生", 0),
    TEACHER("老师", 8000),
    PRESIDENT("校长", 10000);

    //2、声明EnumTest对象属性,注意用 private final 进行修饰
    private final String name;
    private final double salary;

    //3、私有化构造器,并对属性赋值
    private EnumTest(String name, double salary) {
        this.name = name;
        this.salary = salary;
    }

    //对toString()方法重写
//    @Override
//    public String toString() {
//        return "EnumTest{" +
//                "name='" + name + '\'' +
//                ", salary=" + salary +
//                '}';
//    }

}

public class EnumTestMain {
    public static void main(String[] args) {

        EnumTest student = EnumTest.STUDENT;
        System.out.println(student);

        System.out.println("----------------------------");

        //values()方法:返回所有的枚举类对象构成的数组
        EnumTest[] values = EnumTest.values();
        for (EnumTest value : values) {
            System.out.println(value);
        }

    }
}

测试结果(不进行 toString() 方法重写):

创新互联长期为1000多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为平昌企业提供专业的成都网站设计、成都网站制作、外贸网站建设平昌网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

测试结果(对 toString() 方法重写):

2、枚举类对象分别实现接口
interface Explain {
    void vocationExplain();
}


enum EnumTest implements Explain{

    STUDENT("学生", 0){
        @Override
        public void vocationExplain() {
            System.out.println("学生要努力学习");
        }
    },
    TEACHER("老师", 8000) {
        @Override
        public void vocationExplain() {
            System.out.println("老师要教书育人");
        }
    },
    PRESIDENT("校长", 10000) {
        @Override
        public void vocationExplain() {
            System.out.println("校长要管理学校事务");
        }
    };

    private final String name;
    private final double salary;

    private EnumTest(String name, double salary) {
        this.name = name;
        this.salary = salary;
    }

}


public class EnumTestMain {
    public static void main(String[] args) {

        EnumTest student = EnumTest.STUDENT;
        EnumTest teacher = EnumTest.TEACHER;
        EnumTest president = EnumTest.PRESIDENT;

        student.vocationExplain();
        teacher.vocationExplain();
        president.vocationExplain();

    }
}

测试结果

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:使用jdk5.0新增的enum定义枚举类-创新互联
转载来于:http://jkwzsj.com/article/ceoieg.html

其他资讯