Java面向对象基础知识之枚举

Java面向对象基础知识之枚举

简介

在Java语言中,枚举类型是一种特殊的类,它是一组有限的值的集合,这些值是事先确定好的,称为枚举常量。枚举类型用来表示那些具有固定数量、固定名称的数据类型。

基本语法

在Java中,枚举类型定义时需要使用enum关键字,基本语法如下:

enum 枚举名称 {
    枚举常量1,
    枚举常量2,
    ...
    枚举常量n
}

其中,枚举名称是一个标识符,用来表示这个枚举类型的名称;枚举常量1枚举常量2、...、枚举常量n是这个枚举类型的枚举常量,它们是由逗号分隔的一组常量。

枚举类型的定义通常会放在一个单独的源文件中,并且这个源文件的名称必须和枚举类型的名称相同。例如,定义一个颜色的枚举类型如下:

public enum Color {
    RED, GREEN, BLUE
}

枚举类型的方法

枚举类型可以定义自己的方法。例如,给上面定义的颜色枚举类型定义一个getColorValue()方法,用来获取一个颜色的值,代码如下:

public enum Color {
    RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF);

    private final int value;

    Color(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

上面的代码中,枚举常量REDGREENBLUE都有一个对应的整数值,这个值在枚举类型中是用final int类型变量存储的。在枚举类型中定义了一个构造方法,用来初始化这个值。此外,还定义了一个getValue()方法,用来获取这个整数值。

枚举类型的使用

使用枚举类型时,可以通过枚举类型的名称获取一个枚举常量。例如,获取颜色枚举类型的RED常量的值,代码如下:

Color.RED.getValue();

可以看出,这种方式非常直观和方便。

示例说明

示例1:定义一个星期枚举类型

public enum WeekDay {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}

上面的代码定义了一个星期枚举类型,其中包含7个枚举常量,分别对应星期一到星期天。使用该枚举类型的方法如下:

WeekDay today = WeekDay.TUESDAY;
switch (today) {
    case MONDAY:
        System.out.println("今天是星期一");
        break;
    case TUESDAY:
        System.out.println("今天是星期二");
        break;
    case WEDNESDAY:
        System.out.println("今天是星期三");
        break;
    case THURSDAY:
        System.out.println("今天是星期四");
        break;
    case FRIDAY:
        System.out.println("今天是星期五");
        break;
    case SATURDAY:
        System.out.println("今天是星期六");
        break;
    case SUNDAY:
        System.out.println("今天是星期日");
        break;
    default:
        System.out.println("你是什么神仙?");
        break;
}

示例2:定义一个颜色枚举类型

public enum Color {
    RED(0xFF0000), GREEN(0x00FF00), BLUE(0x0000FF);

    private final int value;

    Color(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

上面的代码定义了一个颜色枚举类型,其中包含3个枚举常量:REDGREENBLUE。使用该枚举类型的方法如下:

Color color = Color.GREEN;
System.out.println("颜色的值为:" + color.getValue());

运行后输出结果为:颜色的值为:65280。可以看出,颜色枚举类型中的枚举常量都具有一个对应的整数值,这个值可以通过枚举常量的getValue()方法获取到。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java面向对象基础知识之枚举 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • Java string.trim()究竟去掉了什么

    下面是对Java中string.trim()函数的详细讲解。 首先,string.trim()函数是用来移除字符串两侧空白字符的。所谓的空白字符包括空格、制表符、换行符等等。这个函数会返回一个新的字符串,原字符串并未被改变。 例如,如果我们有一个字符串 ” Hello, World! ” ,那么我们可以通过 string.trim() 来去掉字符串两侧的空白…

    Java 2023年5月20日
    00
  • SpringMVC实现文件上传与下载

    1.文件上传文件上传一般包括前端页面的文件选择、文件上传、后台接收文件、保存文件等步骤。 1.1 前端页面HTML代码示例 <form action="upload" method="post" enctype="multipart/form-data"> <input type=…

    Java 2023年6月15日
    00
  • eclipse 中的javac命令与java命令

    针对“eclipse 中的javac命令与java命令”的详细解释和完整攻略,下面是我的回答: 1. 什么是javac命令 javac命令是Java编译器,用于将Java代码编译成Java字节码。在eclipse中,可以通过在项目中编写Java代码后,点击“编译”按钮(位于工具栏中),或通过点击菜单栏中的“项目” > “编译”来使用javac命令。 2…

    Java 2023年5月19日
    00
  • tomcat logs 目录下各日志文件的解析(小结)

    以下是“tomcat logs 目录下各日志文件的解析(小结)”的完整攻略: 1. tomcat logs 目录下各日志文件介绍 在Tomcat的logs目录下,包含了许多日志文件,每个文件都具有不同的作用,下面是各日志文件的介绍: 1.1 catalina.out catalina.out是Tomcat在启动时会自动生成的一个日志文件,它用于记录Tomca…

    Java 2023年5月19日
    00
  • Spring-全面详解(学习总结)

    Spring-全面详解(学习总结) Spring是一个开源的Java框架,它提供了一种轻量级的、非侵入式的解决方案,用于构建企业级应用程序。本文将详细讲解Spring框架的各个方面,包括IoC容器、AOP、Spring MVC、Spring Boot等。 IoC容器 IoC(Inversion of Control)是Spring框架的核心,它通过IoC容器…

    Java 2023年5月15日
    00
  • 易语言实现163邮箱登录获取邮件列表等操作的代码

    首先,易语言是一种面向过程的编程语言,可以通过WinAPI调用实现各种功能。要实现163邮箱登录获取邮件列表等操作,需要先了解163邮箱的登录流程和相关API接口。 一、登录流程1. 用户输入邮箱地址和密码;2. 向服务器发送登录请求,并携带邮箱地址和密码;3. 服务器验证邮箱地址和密码,返回登录结果;4. 如果登录成功,服务器返回登录凭证(Cookie);…

    Java 2023年6月15日
    00
  • Java面试之Mybatis面试题吐血整理

    Java面试之Mybatis面试题吐血整理是一篇关于Mybatis面试题的文章,旨在帮助Java开发者更好地理解Mybatis框架,并为他们在面试中顺利通过Mybatis相关的技术问题。以下是关于攻略的详细讲解: 文章介绍 在文章介绍中,需要对该篇文章的主旨进行阐述,即为作者整理了一份Mybatis面试题,而这些问题都是在实际工作或者面试中遇到的问题。文章也…

    Java 2023年5月20日
    00
  • OpenGL ES 矩阵变换及其数学原理详解(五)

    “OpenGL ES 矩阵变换及其数学原理详解(五)”这篇文章主要讲解了OpenGL ES中矩阵变换的相关知识和数学原理。文章详细介绍了矩阵变换的分类、矩阵乘法的实现方法以及如何将多个矩阵相乘得到最终的变换矩阵。本文也涉及了矩阵的分解以及常见的变换操作,如缩放、平移、旋转等。同时,本文还通过示例展示了如何使用矩阵变换实现精灵动画效果。 本文通过多个示例详细说…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部