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日

相关文章

  • 在IDEA中创建跑得起来的Springboot项目

    让我来详细讲解如何在IntelliJ IDEA中创建跑得起来的Spring Boot项目。 1. 准备工作 在开始创建Spring Boot项目之前,我们需要确保电脑上已经安装好以下两个软件:- JDK 1.8或更高版本- IntelliJ IDEA 2. 创建Spring Boot项目 现在我们来开始创建Spring Boot项目。 2.1 打开Intel…

    Java 2023年5月19日
    00
  • Java中的异常处理如何提高程序可扩展性?

    Java中的异常处理可以提高程序的可扩展性,因为它能够帮助程序员对程序的异常情况进行处理,并且使程序在处理异常时更加稳定和健壮。下面给出Java中异常处理的完整攻略: 异常概述 在Java中,异常是指在程序执行期间出现的不正常情况,比如说空指针引用、数组越界、除数为0等,这些异常情况将导致程序的崩溃或者是产生错误的结果。为了应对这些异常情况,Java提供了异…

    Java 2023年4月27日
    00
  • Java中如何获取mysql连接的3种方法总结

    下面我讲一下Java中如何获取MySQL连接的3种方法总结。 1. JDBC DriverManager JDBC DriverManager是Java JDBC API提供的一种获取数据库连接的方式,使用此方法需要导入java.sql.DriverManager类。下面是一个使用JDBC DriverManager获取MySQL连接的示例。 import …

    Java 2023年5月19日
    00
  • java之CSV大批量数据入库的实现

    Java之CSV大批量数据入库的实现 背景 在实际项目中,常常需要处理大量的数据,而CSV格式是一种很常见的数据格式,因此对于CSV数据进行入库操作是非常必要的。本文将介绍如何使用Java实现CSV大批量数据入库的实现。 准备工作 在开始正文之前,我们需要进行几个工作: 导入相关依赖 在项目中需要使用opencsv来解析CSV文件,因此需要在maven或gr…

    Java 2023年5月20日
    00
  • Java方法及数组相关原理解析

    Java方法及数组相关原理解析 方法(Method) 方法是一段可重用的代码块,可以接受输入并返回输出。在Java中,方法定义了一个类的行为或功能。方法的重要性在于: 提高代码的重用性 降低代码的复杂度 提高代码的可读性 Java方法的定义格式为: 修饰符 返回值类型 方法名(参数类型 参数名) { //方法体 return 返回值; } 其中: 修饰符:修…

    Java 2023年5月26日
    00
  • Java的Hibernate框架中用于操作数据库的HQL语句讲解

    关于Java的Hibernate框架中用于操作数据库的HQL语句,我可以提供以下详细攻略。 什么是HQL HQL(Hibernate Query Language)是Hibernate框架中用来操作数据库的面向对象的语言。它类似于SQL,但是使用OOP的方法来表述查询,完全面向对象。 HQL语句的结构 HQL语句的结构与SQL类似,由SELECT、FROM、…

    Java 2023年5月20日
    00
  • struts2通过action返回json对象

    实现Struts2通过Action返回JSON对象,可以按照以下步骤进行操作: 步骤一:导入依赖 在项目的pom.xml中导入struts2-json-plugin依赖,以便能够支持JSON格式的数据: <dependency> <groupId>org.apache.struts</groupId> <artifa…

    Java 2023年5月20日
    00
  • java加密算法–MD5加密和哈希散列带秘钥加密算法源码

    下面我来详细讲解Java加密算法——MD5加密和哈希散列带秘钥加密算法源码的完整攻略。 MD5加密算法 概述 MD5(Message Digest Algorithm)是一种单向的哈希算法,可以将任意长度的数据加密成一个128位的二进制串。MD5算法将数据经过多次非线性函数变换和数据干扰后,生成一个唯一的128位散列码,具有很高的安全性,被广泛应用于数据的完…

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