本文作者:佚名

java 基础(枚举类)

佚名 2019-05-18 ???
摘要:1、枚举类也是一个类,也可以有属性,等等:public enum SeasonEnum{SPRING,SUMMER,FALL,WINTER;}这个是没有其他属性的。package


1、枚举类也是一个类,也可以有属性,等等:

public enum SeasonEnum{
	SPRING,
	SUMMER,
	FALL,
	winTER;
}

 这个是没有其他属性的。

package com.creditharmony.adapter.testCase.test;

public class EnumTest {
	public void judge(SeasonEnum s) {
		switch (s) {
		case SPRING:
			System.out.println("春天");
			break;
		case SUMMER:
			System.out.println("夏天");
			break;
		case FALL:
			System.out.println("秋天");
			break;
		case WINTER:
			System.out.println("冬天");
			break;
		default:
			break;
		}
	}
 
	public static void main(String[] args) {
		for (SeasonEnum	s : SeasonEnum.values()) {
			System.out.println(s);
		}
		new EnumTest().judge(SeasonEnum.FALL);
	}
}

 进一步修改枚举代码:

package com.creditharmony.adapter.testCase.test;

public enum Gender {
	MALE, FEMALE;
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		switch (this) {
		case MALE:
			if ("男".equals(name)) {
				this.name = name;
			} else {
				System.out.println("参数错误,name:" + name);
				return;
			}
			break;
		case FEMALE:
			if ("女".equals(name)) {
				this.name = name;
			} else {
				System.out.println("参数错误,name:" + name);
				return;
			}
			break;
		default:
			break;
		}
	}
	
}

 上面的枚举中没有为各项指定初始值,而且属性可修改,其实枚举属性不应该被修改,所以应该用private final 来修饰。

public enum Gender {
	MALE("男"), FEMALE("女");
	// 枚举类的构造器只能用private修饰
	private Gender(String name){
		this.name=name;
	}
	private String name;
	public String getName() {
		return name;
	}
}
	public static void main(String[] args) {
		System.out.println(Gender.FEMALE.getName());
		 
	}

 输出结果:女。

未经允许不得转载:

作者:佚名,标题:java 基础(枚举类),原文地址:https://www.vfjianzhan.com/android/201905/22.html发布于2019-05-18
转载或复制请以超链接形式并注明出处唯福建站

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏