【Java高级特性】java学习之旅26-枚举

在开始介绍之前我们先来理解一下枚举的概念

为了防止用户乱输入创建对象,我们通常将格式形成统一的,例如下列的性别:

public final class SexUtil {
	
	private SexUtil() {}
	
	public static final char MALE = '男';
	public static final char FEMALE = '女';
	
}

但是由于无法限定对象的数据类型所以这里引入了数组。

  1. jdk1.5+
  2. 使用它来汇总一系列表示同类含义的常量。
  3. 枚举是引用的数据类型,枚举类型的属性,赋值只能是枚举中声明过的常量。

两个方法:

name() 用来返回此枚举的常量名称,和在枚举中声明的完全相同

ordinal() 返回次枚举常熟的次序

使用的方式:

  1. 在枚举中声明多个常量,用逗号分隔,枚举作为引用数据类型,只能使用声明过的常量作为数据的值
public enum LoginResult {
	SUCCESS,
	NOT_EXIST,
	USERNAME_OR_PASSWORD_ERROR;	
}

枚举作为引用数据类型

public class Teacher {
	
	private String name;
	
	private int age;
	//枚举作为引用数据类型
	private SexEnum sex;

	public Teacher() {
		super();
	}
	public Teacher(String name, int age, SexEnum sex) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
	}
	public String getName() {
		return name;
	}

/...省去getter和setter.../
	
}
  1. 在枚举中可以声明私有的属性、私有的构造方法、getter和setter方法、构造方法是私有的,只能在枚举的内部使用(定义常量值的时候使用),可以将多个表示相同含义属性的不同表现形式 集合到一起
public enum LoginResultEnum {
	
	SUCCESS("登陆成功,欢迎进入青山管理系统。"),
	USERNAME_IS_NOT_EXIST("用户名不存在"),
	USERNAME_OR_PASSWORD_ERROR("用户名或密码错误");
	
	private String content;

	private LoginResultEnum(String content) {
		this.content = content;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}
	
}
//我们可以理解为
	@Test
	public void test4() {
		System.out.println(LoginResultEnum.SUCCESS.getContent());
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值