java创建枚举对象

java中的枚举是什么意思?

Java的Enumeration(枚举,注释②)便是具有这些限制的一个反复器的例子。除下面这些外,不可再用它做其他任何事情:

(1)

用一个名为elements()的方法要求集合为我们提供一个Enumeration。我们首次调用它的nextElement()时,这个Enumeration会返回序列中的第一个元素。

(2)

用nextElement()获得下一个对象

(3)

用hasMoreElements()检查序列中是否还有更多的对象。

②:“反复器”这个词在C++和OOP的其他地方是经常出现的,所以很难确定为什么Java的开发者采用了这样一个奇怪的名字。Java

1.2的集合库修正了这个问题以及其他许多问题。

用java写一个枚举类程序

package com.school.stereotype; 

/** 

 * 活动枚举类型 

 * @author QiXuan.Chen 

 */

public enum EventStatus { 

  /** 

   * 未发布。 

   */ 

  DRAFT(“DRAFT”, “未发布”), 

  /** 

   * 已发布。 

   */

  PUBLISHED(“PUBLISHED”, “已发布”); 

  /** 

   * 活动状态的值。 

   */

  private String value; 

  /** 

   * 活动状态的中文描述。 

   */

  private String text; 

  /** 

   * @param status 活动状态的值 

   * @param desc 活动状态的中文描述 

   */

  private EventStatus(String status, String desc) { 

    value = status; 

    text = desc; 

  } 

  /** 

   * @return 当前枚举对象的值。 

   */

  public String getValue() { 

    return value; 

  } 

  /** 

   * @return 当前状态的中文描述。 

   */

  public String getText() { 

    return text; 

  } 

  /** 

   * 根据活动状态的值获取枚举对象。 

   * 

   * @param status 活动状态的值 

   * @return 枚举对象 

   */

  public static EventStatus getInstance(String status) { 

    EventStatus[] allStatus = EventStatus.values(); 

    for (EventStatus ws : allStatus) { 

      if (ws.getValue().equalsIgnoreCase(status)) { 

        return ws; 

      } 

    } 

    throw new IllegalArgumentException(“status值非法,没有符合课程状态的枚举对象”); 

  } 

}

java枚举类的几点疑惑

 先看一个简单的枚举类。

package enumcase;

public enum SeasonEnum {

SPRING,SUMMER,FALL,WINTER;

}

enum和class、interface的地位一样

使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。枚举类可以实现一个或多个接口。

枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。

使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。

java创建枚举对象

java 枚举enum定义的方法与位置。

可以的,枚举的定义是这样的

public enum SEX{

MEN,WOMEN;

}

在其它类中引用枚举非常简单,可以向以前使用的java中的常量一样使用。

SEX.MEN或SEX.WOMEN

枚举和一般的类是一样的,有一个好处就是你使用的时候不用创建对象了,java帮我们创建好了。当然,在枚举里面也可以定义方法,建议你看一下这方面的书籍。

请问java枚举类型的枚举值是不是继承枚举类的一个对象啊?

确切的说java里有枚举类型enum,只可以用在类静态或者成员变量中,不可作为局部变量。

实际上这样声明的枚举类型是集继承于java.lang.Enum类的,但是我们不能直接继承枚举类,只能通过这种方法创建枚举对象。

示例

class Test {

private static enum test {

ffffff, blue, green

}

public static void main(String[] args) {

System.out.println(test.ffffff);

}

}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月25日 07:40:07
下一篇 2024年3月25日 07:51:44

相关推荐

  • java个人简历范文,java求职个人简历

    谁能提供一份比较实用的java软件工程师求职简历? 最高学历:本科 毕业日期:2004-07 专业:计算机科学与技术 语言能力 英语水平:良好 国语水平:标准 粤语水平:良好 专业技能 扎实的JAVA基础知识,熟悉面向对象编程思想,熟练MVC设计模式。 希望岗位:嵌入式产品开发工程师、软件开发工程师 工作年限:6年 职称:中级 求职类型:全职 可到职日期:随…

    2024年5月19日
    3600
  • java中如何用打印出jdk的版本号,java打印log

    如何查看一个jar文件是用什么版本jdk编译的 1、用7-zip打开.jar包,查看META-INF\MANIFEST.MF中的内容,Build-Jdk属性就是JDK的版本,比如:Build-Jdk: 0_2211 说明其JDK版本为0.22。 2、如果没有eclipse,也可以使用java自带的工具,查看 class的编译器版本号。 3、首先,在开始菜单输…

    2024年5月19日
    4200
  • java正则表达式过滤,java的正则表达式匹配

    java中,正则表达式,如何过滤除数字和字母之外的其它字符?? String str = 112356_abcdefg;boolean hasSymble = !str.matches(^[\\da-zA-Z]*$);System.out.println(hasSymble);已经测试。 纠正下,toString方法是用来转换为字符串的,不能用于字符串截取的…

    2024年5月19日
    7000
  • java月第一天,java获取本周第一天

    在java中如何通过一个月份,获得该月份的第一天的日期? 在selectMonth方法中将starttime的数据发送到后台,(可以使用form表单提交的方式)。 Calendar cal = Calendar.getInstance();cal.setTime(new Date());int month = cal.get(Calendar.MONTH);…

    2024年5月19日
    4000
  • java数据读取,java数据读取耗时优化

    java字节流怎么读取数据 使用一个byte数组从流中读取数据,必须要为数组指定初始化长度。如果不是循环从流中读取,而是只读依次,指定2056可能是考虑到流中数据的最大长度不会超过2056,除此之外并没有其他含义。 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,而当程序需要将一些数据保存起来时,就要使用输出流。可以通过…

    2024年5月19日
    3600
  • java微信发货接口,java接入微信支付

    java如何调用微信接口发送文件到微信群 目前微信没有开放发送文件到微信群的api,毕竟开放了很有可能会被微商利用,只能上传至公众号的图文素材,再进行推送。但不管是订阅号还是服务号,推送都有限制。 用微信公众平台提供的接口 2 直接抓取微信公众平台网站上的数据包(几乎所有请求都是ajax形式,并返回Json数组的),用httpclient来模拟。1的好处是:…

    2024年5月19日
    3200
  • java盈利,java赚外快

    开源java框架怎么盈利? 卖Java配套软件,比如Sun ONE Studio Enterprise Edition要钱,而且很贵。提供服务。比如Sun ONE Studio Standard Edition不要钱,但是技术支持要钱。Sun One Application server Identy Server 好多好多,好贵好贵。 开源社区版让大家了解…

    2024年5月19日
    4600
  • java调用扫描仪twain,java扫描器的用法

    Java中怎么调用扫描枪 扫描控制台输入当通过newScanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用Scanner的nextLine()方法即可。 总之c/s架构的java程序调用扫描仪通过jni+twain编程既可完成。 比…

    2024年5月19日
    3600
  • javaenum单利,java 单利

    JAVA枚举的作用与好处 枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组。 枚举类型最大的特点就是:构造函数是private修饰的,也就是不能对其进行new,对象的实例都是预定义的,也就是在类加载的时候都是定义好了的,不会给其它调用去创建实例的机会。 第四种:饿汉模式…

    2024年5月19日
    4400
  • java与c语言哪个好,java语言和c语言哪个更好

    c语言和java哪个就业好 1、C语言比较好学,简单,速成。C语言用得比较广,而且是很成熟的面向过程的一门语言。 2、这两种语言都是当今热门语言,但是从应用场景和就业前景来看,Java语言具有一定的优势,对于新手来说学习起来会更简单。从学习难度来看,Java语言要比C语言简单一些。 3、Java,毫无争议排名第一的工业语言,可以跨平台使用,且安全系数高、稳定…

    2024年5月19日
    3900

发表回复

登录后才能评论



关注微信