欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

枚举类:枚举类的Field、方法、构造器

程序员文章站 2022-05-22 08:36:21
...
package org.lgy.study.enumstudy;

public enum SeasonEnum{
	//枚举类通过如下方式调用构造器
	SPRING("春天", 3),SUMMER("夏天", 6),FALL("秋天", 9),WINTER("冬天", 12);
	
	//枚举类的实例是在该类的第一行显式指定的,但依然可以定义构造器,只是构造器被强制为private权限,
	//因此无法通过调用构造器来显示创建实例
	SeasonEnum(String name,int mouth){
		this.name = name;
		this.mouth = mouth;
	}
	
	//枚举类就像普通类一样可以定义(静态)成员变量、(静态)成员方法
	//枚举类的成员变量、成员方法的调用方式和普通类一样
	private String name;
	private int mouth; 
	public static String str = "******";
	
	public void info(){
		System.out.println(this + ",代表" + name + ",始于" + mouth + "月。");
	}
	public static void method1(){
		System.out.println("------");
	}
}

 

package org.lgy.study.enumstudy;

public class EnumTest{
	public void judge(SeasonEnum season){
		//switch语句里的表达式可以是byte short char int String 枚举类
		//当switch控制表达式使用枚举类型时,后面case表达式中的值直接使用枚举值得名字,无须添加枚举类作为限定。
		switch(season)
		{
			case SPRING:
				System.out.println("Spring...");
				break;
			case SUMMER:
				System.out.println("Summer...");
				break;
			case FALL:
				System.out.println("Fall...");
				break;
			case WINTER:
				System.out.println("Winter...");
				break;
		}
	}
	
	public static void main(String[] args){
		System.out.println(SeasonEnum.str);
		SeasonEnum.method1();
		
		for(SeasonEnum s : SeasonEnum.values()){
			s.info();
		}
		
	}
}