Java枚举类回顾
来源:互联网 发布:淘宝矜贵芳旗舰店 编辑:程序博客网 时间:2024/05/22 10:30
整理一些枚举类的笔记。。。
枚举类:
- 包含有限个成员对象而且默认被private static final修饰
- 私有构造方法
- 属性和字段private final修饰
比较
在JDK1.5之后引入了枚举类关键字enum,使得枚举类的创建变得更加简单明了,下面以一个例子说明
自定义枚举类
package Enum;/** * 枚举类理解 * @author hp * */public class MySeason { // 1. 提供类的属性声明为private final private final String name; private final String desc; // 2. 声明私有构造器,初始化final参数 private MySeason(String name,String desc){ this.name=name; this.desc=desc; } // 3. 通过公共方法得到属性 public String getName() { return name; } public String getDesc() { return desc; } // 4. 创建枚举类对象private static final修饰 private static final MySeason SPRING = new MySeason("spring", "spring is warm!"); private static final MySeason SUMMER = new MySeason("summer", "summer is hot!"); private static final MySeason AUTUMN = new MySeason("autumn", "autumn is cool!"); private static final MySeason WINTER = new MySeason("winter", "winter is cold!"); // 5. 可以有自己的方法 public void show(){ System.out.println("this is MySeason"); } @Override public String toString() { return "MySeason [name=" + name + ", desc=" + desc + "]"; } public static void main(String[] args) { MySeason spring = MySeason.SPRING; System.out.println(spring); spring.show(); }}
enum关键字创建枚举类
枚举类不支持继承,但是可以实现接口
package Enum;/** * 枚举类理解 * @author hp * */interface Info2{ public void say(); }public enum MySeason2 implements Info2{ // 4. 创建枚举类对象private static final修饰 SPRING("spring", "spring is warm!"){ public void say(){ System.out.println("spring-say()..."); } }, SUMMER("summer", "summer is hot!"){ public void say(){ System.out.println("summer-say()..."); } }, AUTUMN("autumn", "autumn is cool!"){ public void say(){ System.out.println("autumn-say()..."); } }, WINTER("winter", "winter is cold!"){ public void say(){ System.out.println("winter-say()..."); } }; // 1. 提供类的属性声明为private final private final String name; private final String desc; // 2. 声明私有构造器,初始化final参数 private MySeason2(String name,String desc){ this.name=name; this.desc=desc; } // 3. 通过公共方法得到属性 public String getName() { return name; } public String getDesc() { return desc; } // 5. 可以有自己的方法 public void show(){ System.out.println("this is MySeason"); } @Override public String toString() { return "MySeason [name=" + name + ", desc=" + desc + "]"; } public void say(){ System.out.println("接口的公共实现方法..."); } public static void main(String[] args) { MySeason2 spring = MySeason2.SPRING; System.out.println(spring); spring.show(); /* * 两个方法 */ // 1. 获得所有已的枚举类成员对象 MySeason2[] ms = MySeason2.values(); System.out.println(ms.length); // 2. 根据枚举类成员对象名获得该对象, //注意是枚举类内部成员名,在这里应该是SPRING而不是spring System.out.println(MySeason2.valueOf("SPRING")); }}
测试输出:
MySeason [name=spring, desc=spring is warm!]this is MySeason4MySeason [name=spring, desc=spring is warm!]
1 0
- Java枚举类回顾
- java 枚举简单回顾
- java基础知识回顾——枚举类和注解
- JAVA回顾二之枚举类的使用
- 黑马程序员 java基础回顾---枚举
- 黑马程序员Java知识回顾之枚举
- 【java基础回顾一】——枚举
- android中的重要java知识点回顾1(枚举、反射、类加载器等)
- Java 类加载回顾
- Java 回顾笔记_Object类
- Java基础回顾 : 集合类
- Java 类、对象内容回顾
- java基础类的回顾
- java枚举类!
- java 枚举类
- java 枚举类
- 浅析java枚举类
- java 枚举类
- Qt线程同步
- 生产者与消费者
- 快排的递归与非递归实现(二)
- 欢迎使用CSDN-markdown编辑器
- oracle_Grid Infrastructure 启动的五大问题
- Java枚举类回顾
- linux中lspci命令简介
- SmartSql = Dapper + MyBatis + Cache(Memory | Redis) + ZooKeeper + R/W Splitting + ......
- Xcode7查看iphone真机的应用程序文件
- Unity 小游戏:3D射箭
- const在项目中的用途
- Idea小技巧 之 折叠代码块
- MySQL 请键入 NET HELPMSG 3534 以获得更多的帮助 的一种解决方案
- 求尾数