写点什么

15-Java 枚举类详解【干货笔记,2021 年 Java 高级面试题

发布于: 22 小时前
  1. 枚举类型都继承 java.lang.Enum,所以枚举类不能再继承其它类型。

  2. 定义枚举项时,多个枚举项之间需要使用 , 隔开,通常使用大写。

  3. 枚举类型的构造方法使用 private 修饰

  4. 通过 枚举类名.枚举项名称 去访问指定的枚举项

  5. 枚举类型可以实现接口


3.1、普通用法




使用枚举类型后,常量会被封装到枚举项中。枚举项就是一个对象。



public enum StateEnum {
// 枚举项
OK("请求成功"),
ERROR("请求失败");


private String msg;


private StateEnum() {
}


private StateEnum(String msg) {
this.msg = msg;
}


public String getMsg() {
return msg;
}


public void setMsg(String msg) {
this.msg = msg;
}
}
复制代码


public class TestEnum {


public static void main(String[] args) {
// 枚举项就是一个对象
StateEnum ok = StateEnum.OK;
System.out.println(ok);


System.out.println(StateEnum.OK);
System.out.println(StateEnum.ERROR);
}
复制代码


}





[](https://gitee.com/vip204888/java-p7)3.2、枚举比较
----------------------------------------------------------------------


枚举的比较通常使用在if支语句(switch、if)中,在if语句中,使用 `==` 进行比较。


### [](https://gitee.com/vip204888/java-p7)3.2.1、switch中使用
复制代码


switch (StateEnum.ERROR) {


case OK:
System.out.println("成功!成功!");
break;
case ERROR:
System.out.println("失败!失败!");
break;
default:
break;
复制代码


}





### [](https://gitee.com/vip204888/java-p7)3.2.2、if中使用
复制代码


StateEnum msg = StateEnum.OK;


if (msg == StateEnum.OK) {


System.out.println("成功!成功!");
复制代码


} else if (msg == StateEnum.ERROR) {


System.out.println("失败!失败!");
复制代码


}





[](https://gitee.com/vip204888/java-p7)3.3、枚举类型实现接口
--------------------------------------------------------------------------


枚举类型可以实现接口,实现的方式跟普通的类没什么区别。
复制代码


public interface HttpCode {


int getGetCode();
String getGetDescription();
复制代码


}



public enum CodeEnum implements HttpCode {
SUCCESS(200, "OK"),
PAGE_NOT_FOUND(404, "page not found");


private int code;
private String description;


private CodeEnum() {
}


private CodeEnum(int code, String description) {
this.code = code;
this.description = description;
}


public int getCode() {
return code;
}


public void setCode(int code) {
this.code = code;
}


public String getDescription() {
return description;


# 最后
面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?
掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。
如果你需要这份完整版的**面试笔记**,只需你多多**支持**我这篇文章。
**——对文章进行点赞+评论,关注我,[然后再点击这里免费领取](https://gitee.com/vip204888/java-p7)**
![](https://static001.geekbang.org/infoq/3e/3e683fdcc35ec8d6460872bc2c95ec79.jpeg)
![](https://static001.geekbang.org/infoq/6b/6bfc776f850a8e016e47e56aaab2a10e.jpeg)
复制代码


用户头像

VX公众号:编程进阶路 2020.11.28 加入

还未添加个人简介

评论

发布
暂无评论
15-Java枚举类详解【干货笔记,2021年Java高级面试题