JDK 1.5 新特性——枚举

复制代码
 1 class MyEnum {
 2 
 3     private MyEnum() {
 4     }
 5 
 6     public static final MyEnum e1 = new MyEnum();
 7     public static final MyEnum e2 = new MyEnum();
 8     public static final MyEnum e3 = new MyEnum();
 9 }
10 
11 public class LikeEnum {
12 
13     public static void main(String[] args) {
14         // MyEnum myEnum=new MyEnum();//报错 ,不能创建对象
15         System.out.println(MyEnum.e1);//不能从外部创建对象,只能使用内部已经常见的对象这就是枚举的原型,提高了程序的安全性
16     }
17 }
复制代码

  1.5以后为了简化代码的书写,出现了枚举,枚举也是C语言里面的东西,比如使用星期的时候,如果把1~7定义成枚举,

如果程序中使用1~7以外的数字就会报错,提高程序的安全性。

public enum MyColor{ Red, Yellow, Blue };

  

  这里面的Red, Yellow, Blue都是MyColor的对象,MyColor实质上是一个类,所以可以把它按照一个类来处理。

 

复制代码
枚举示例
 1 public class Homework {
 2 
 3     enum Weeks {
 4         MON() {
 5             @Override
 6             public String toString() {
 7                 return "星期一";
 8             }
 9 
10             @Override
11             public String getName() {
12                 return "星期一";
13             }
14 
15         },
16         TUE {
17             @Override
18             public String getName() {
19                 return "星期二";
20             }
21         },
22         WED {
23             @Override
24             public String getName() {
25                 return "星期三";
26             }
27         },
28         THU {
29             @Override
30             public String getName() {
31                 return "星期四";
32             }
33         },
34         FRI {
35             @Override
36             public String getName() {
37                 return "星期五";
38             }
39         },
40         SAT {
41             @Override
42             public String getName() {
43                 return "星期六";
44             }
45         },
46         SUN {
47             @Override
48             public String getName() {
49                 return "星期日";
50             }
51         };
52         public abstract String getName();
53     }
54 
55     /**
56      * @author yokoboy
57      */
58     public static void main(String[] args) {
59         System.out.println(Weeks.MON.getName());
60         System.out.println(Weeks.FRI.ordinal());
61 
62     }
63 }
复制代码

 

 

转载请注明出处:

博客园_yokoboy

http://www.cnblogs.com/yokoboy/archive/2012/07/25/2608165.html

 

posted @   子夏子  阅读(747)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
yokoboy
点击右上角即可分享
微信分享提示