Cheug's Blog

当前位置:网站首页 / JAVA / 正文

枚举

2019-04-24 / JAVA / 978 次围观 / 0 次吐槽 /

枚举概述

                1.枚举是指将变量的值一一列出来,可以称为『数据集』 。

                  举例:一周只有7天,一年只有12个月,一年有四个季节等。

                2.Javaenum通过声明的类称为枚举类

                3.枚举其实就是限定范围,防止不应该发生的事情发生

                4.枚举注意事项

                        定义枚举类要用关键字enum

                        所有枚举类都是Enum的子类

                        枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略

                        枚举类可以有构造器,但必须是private的,它默认的也是private的。

                        枚举类也可以有抽象方法,但是枚举项必须重写该方法

                        枚举在switch语句中的使用

                5. 枚举是一个特殊类

枚举的声明

public class D3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Season season = Season.Spring;
		season.test();
		
	}

}
enum Season{
	Spring("春"){

		@Override
		public void test() {
			System.out.println(s);
		}
		
	}
	,Summer("夏"){

		@Override
		public void test() {
			System.out.println(s);
		}}
	,Autumn("秋"){

		@Override
		public void test() {
			System.out.println(s);
		}}
	,Winter("冬"){

		@Override
		public void test() {
			System.out.println(s);
		}};
	/*Season(){
            System.out.println("空参的构造方法");
        }*/
        
	String s;
	Season(String s){
		this.s = s;
	}
	public abstract void test();
}

枚举的常见方法

int ordinal() 枚举项都有索引,从0开始

int compareTo(E o)

String name() 枚举项名称

String toString()

<T> T valueOf(Class<T> type,String name)通过字节码对象获取枚举对象

values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便

        image.png

Powered By Cheug's Blog

Copyright Cheug Rights Reserved.