java枚举enum

来源:互联网 发布:算法之美 中文版 pdf 编辑:程序博客网 时间:2024/04/30 12:42
package com.yin;/** * 枚举就是有限的多个对象;将这几个对象列出来放在枚举类中,这里是SPRING,SUMMER,AUTUMN,WINTER * 序号从零开始,例如这里SPRING的序号是0,WINTER的序号是3; * 同样的和类一样,可以有多个属性,例如这里有name和desc属性;但是你同时只能访问到某个元素的属性 * 但是构造方法不可以由外部调用,只是用于内部调用; * 构造方法一般有几个元素就调用几次,这里应该是调用4次 * @author Administrator * */public enum Season {SPRING("春天","春暖花开"),SUMMER("夏天","夏日炎炎"),AUTUMN("秋天","秋高气爽"),WINTER("冬天","寒冬腊月");private final String name;private final String desc;private Season(String name,String desc){System.out.println("构造方法被调用");this.name = name;this.desc = desc;}public String getName(){return name;}public String getDesc(){return desc;}public void show(){System.out.println("这是一个季节");}}

public static void main(String[] args) {/** * 获取一个枚举类对象 * 其实就是获取枚举类的其中一个元素,这里获取的是SPRING,是Season类型的 */Season season = Season.SPRING;/** * 获取枚举类的属性,其实是获取某个元素的属性,这里获取的是SPRING的name和desc属性 */System.out.println(season.getName()+","+season.getDesc());/** * name()获取枚举类元素的名称,这里是SPRING; * ordinal()获取枚举类元素的序号,从0开始,这里是0; */System.out.println(season.name()+","+season.ordinal());/** * values()获取枚举类的所有枚举元素 */Season[] seasons = Season.values();for (Season s : seasons) {System.out.println("枚举元素的name属性:"+s.getName()+",desc属性:"+s.getDesc()+",name:"+s.name()+",ordinal:"+s.ordinal());}/** * 根据枚举元素的名字,获取指定枚举元素,用枚举类型接收 */Season resule = Season.valueOf("SPRING");System.out.println(resule);//SPRING}}

1 0
原创粉丝点击