△单例类是指只有一个实例,而枚举类实际上就是有有限个实例的类,在类里已经把实例定义好了。

△枚举类的三种创建形式:

1)

     enum Week {    

          MON,TUE,WED;//枚举类有默认构造函数创建的三个实例}
}

2)

enum Week {

     MON("星期一"), TUE( "星期二"),WED ("星期三" );      //具有参数的构造函数

     private String name;

     Week(String name) {

            this. name= name;

     }

}

3)

enum Week {

     MON("星期一") {

            public void show() {                             //采用枚举类的匿名子类

                System. out.println( "星期一到啦!" );

           }

     },TUE("星期二"){

            public void show() {

                System. out.println( "星期二到啦!" );

           }

     },WED("星期三") {

            public void show() {

                System. out.println( "星期三到啦!" );

           }

     };          //具有参数的构造函数

     private String name;

     Week(String name) {

            this. name= name;

     }

     public abstract void show();     //具有抽象方法
}
△枚举类的注意事项:
* 定义枚举类要用关键字enum
    * 所有枚举类都是Enum的子类
    * 枚举类的第一行上必须是枚举项,最后一个枚举项后的分号是可以省略的,但是如果枚举类有其他的东西,这个分号就不能省略。建议不要省略
    * 枚举类可以有构造器,但必须是private的,它默认的也是private的。
    * 枚举类也可以有抽象方法,但是枚举项必须重写该方法
    * 枚举在switch语句中的使用:可以对枚举类的成员进行枚举,case里直接写成员变量名即可,使用方法如下:
 public class Demo {
public static void main(String[] args) {
Name name=Name. tom;
switch( name) {
case tom:
System. out.println( "我是tom" );
break;
case jack:
System. out.println( "我是jack" );
break;
case bob:
System. out.println( "我是bob");
break;
}
}
}
enum Name{
tom,jack,bob;
}
*可以根据输入获取相应的枚举常量名获取枚举对象,采用的是枚举的valueOf方法
     static Enum valueOf(Class enumclass,String name):返回指定名字给定类的枚举常量

JavaSE复习_6 枚举类的更多相关文章

  1. Java枚举类、注解和反射

    本文主要介绍的是枚举类,注解和反射.还有一些基础知识:static,基本数据类型,运算符优先级放在文中,以便查阅复习. 其中牵扯到泛型的部分,可参考本人的另一篇博客:(Collection, List ...

  2. Java笔记:枚举类

    1.一个类的实例是有限且固定的,这个类称为枚举类.比如季节类,只有四个对象(春.夏.秋.冬) 2.手动实现一个枚举类(1)通过private将构造器隐藏起来(2)把这个类的所有可能实例都使用priva ...

  3. Java基础15:深入剖析Java枚举类

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  4. 夯实Java基础系列14:深入理解Java枚举类

    目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...

  5. Java枚举类和注解梳理

    1. 枚举类 1. 枚举类的使用 枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类. 当需要定义一组常量时,强烈建议使用枚举类. 如果枚举类中只有一个对象,则可以作为单例模式的实现方式. ...

  6. javaSE复习之——线程

    线程其实就是程序执行的一条路径,一个进程中可以包含多条线程,多线程并发执行可以提高程序效率,可以同使完成多项任务 多线程的应用场景 迅雷多线程一起下载 服务器同时处理多个客户请求 多线程原理(单核CP ...

  7. 【Java基础】枚举类与注解

    枚举类与注解 枚举类的使用 当需要定义一组常量时,强烈建议使用枚举类. 枚举类的理解:类的对象只有有限个,确定的. 若枚举只有一个对象, 则可以作为一种单例模式的实现方式. 枚举类的属性: 枚举类对象 ...

  8. Java枚举类与注解详解——一篇文章读懂枚举类与注解详

    目录 一.枚举类 ① 自定义枚举类 ② enum关键字定义枚举类 ③ enum 枚举类的方法 ④ enum 枚举类实现接口 二.注解 ① 生成文档相关注解 ②注解在编译时进行格式检查 ③注解跟踪代码的 ...

  9. java基础---枚举类与注解

    一.枚举类 类的对象只有有限个,确定的.我们称此类为枚举类 如果枚举类中只有一个对象,则可以作为单例模式的实现方式. 定义枚举类 方式一:jdk5.0之前,自定义枚举类 public class Se ...

随机推荐

  1. Python time clock()方法

    描述 Python time clock() 函数以浮点数计算的秒数返回当前的CPU时间.用来衡量不同程序的耗时,比time.time()更有用. 这个需要注意,在不同的系统上含义不同.在UNIX系统 ...

  2. Pearls

    Pearls Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7980 Accepted: 3966 Description In ...

  3. 山东理工大学第七届ACM校赛-完美素数 分类: 比赛 2015-06-26 10:36 15人阅读 评论(0) 收藏

    完美素数 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 我们定义:如果一个数为素数,且这个数中含有7或3,那么我们称这个数为完美 ...

  4. ASP.NET使用后台更改前台Style

    首先是后台给前台设置Style属性,设置控件坐标 前台控件: <asp:Label ID = "lblDSRText" Text = "当事人" runa ...

  5. fg、bg、jobs、&、ctrl + z

    原文地址:fg.bg.jobs.&.ctrl + z 作者:china-yuan http://blog.chinaunix.net/uid-22433093-id-1774026.html ...

  6. SecureCRT issue "Could not open clipboard: Assess is denied" (无法打开粘贴板:访问被拒绝)

    I got an issue when copying some line/word (actually just select the context ) in the Linux terminal ...

  7. Spring的BeanFactoryPostProcessor和BeanPostProcessor

    转载:http://blog.csdn.net/caihaijiang/article/details/35552859 BeanFactoryPostProcessor和BeanPostProces ...

  8. C#中汉诺塔问题的递归解法

    百度测试部2015年10月份的面试题之——汉诺塔. 汉诺塔就是将一摞盘子从一个塔转移到另一个塔的游戏,中间有一个用来过度盘子的辅助塔. 百度百科在此. 游戏试玩在此. 用递归的思想解决汉诺塔问题就是分 ...

  9. java--4种内部类

    内部类: 一 非静态内部类 //非静态内部类 //非静态内部类可任意调用外部类的局部变量,无论是否private //在外部类中要实例化内部类:InnerClass inner = new Inner ...

  10. android 介绍0

    Android  (src  res  maifest) src ==>pacege==>类(后台代码) layout ==>界面 value ==>字符串 R类:layout ...