`
sungang_1120
  • 浏览: 322749 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

JAVA 枚举类型 简单介绍

 
阅读更多

WeekDay1.java

package com.sg.enums;

public abstract class WeekDay1 {
    private WeekDay1(){}
    public final static WeekDay1 SUN_DAY = new WeekDay1(){
        public WeekDay1 nextDay() {
            return MON_DAY;
        }
    };
    public final static WeekDay1 MON_DAY = new WeekDay1(){
        public WeekDay1 nextDay() {
            return SUN_DAY;
        }};
    /*public WeekDay nextDay(){
        if(this==SUN_DAY){
            return MON_DAY;
        }else {
            return SUN_DAY;
        }
    }*/
       
    public abstract WeekDay1 nextDay();
    @Override
    public String toString(){
        return this == SUN_DAY ? "SUN_DAY":"MON_DAY";
    }
}

 

 

EnumTest.java

package com.sg.enums;

import java.util.Date;

public class EnumTest {
    public static void main(String[] args) {
        WeekDay1 weekDay = WeekDay1.SUN_DAY;
        System.out.println(weekDay.nextDay());
       
        WeekDay weekDay2 = WeekDay.FRI_DAY;
        System.out.println(weekDay2);
        System.out.println(weekDay2.name());
       
        System.out.println(weekDay2.ordinal());
        System.out.println(WeekDay.valueOf("SUN_DAY").toString());
        System.out.println(WeekDay.values().length);
       
       
        new Date(300){};
    }
   
   
    //枚举类
    public enum WeekDay{
        //()代表创建实例的时候用的是哪个构造函数
        SUN_DAY(1),MON_DAY(),TUE_DAY,WED_DAY,FRI_DAY,SAT_DAY;
        //构造 必须是私有的
        private WeekDay(){
            System.out.println("first");
        }
        private WeekDay(int day){
            System.out.println("second");
        }
    }
   
    //交通灯
    public enum TrnfficLamp{
        RED(30){
            public  TrnfficLamp nextLamp(){
                return GREEN;
            }
        },
        GREEN(45){
            public  TrnfficLamp nextLamp(){
                return YELLOW;
            }
        },
        YELLOW(10){
            public  TrnfficLamp nextLamp(){
                return RED;
            }
        };
        //抽象方法
        public abstract TrnfficLamp nextLamp();
        //枚举类只有一个成员时  就是一个单例模式
        private int time;//灯的时间
        private TrnfficLamp(int time){
            this.time = time;
        }
    }
}

分享到:
评论

相关推荐

    简单总结java枚举类型

    Java枚举类型是Java语言中一种特殊的类,用于定义固定的常量集合,它提供了一种安全、类型化的方式来表示一组有限的值。枚举在Java中被引入为一个完整的类型,不同于C++中的枚举,这使得Java枚举更加强大且易于使用...

    Java枚举类型.pdf

    总结起来,Java枚举类型是一个强大的工具,它可以替代`static final`常量来表示一组固定的值,提供类型安全、易于维护的代码。通过枚举,我们可以更方便地管理常量,减少错误,并增加代码的灵活性。枚举是Java中一个...

    高阶Java-Java枚举类型 enum 应用详解

    本篇文章将深入探讨Java枚举的特性、用法以及如何在实际开发中充分利用它们。 一、枚举的基本用法 1. 声明枚举类型: ```java public enum Color { RED, GREEN, BLUE } ``` 在这里,`Color`是枚举类型,`RED`, `...

    java枚举类型enum的使用

    ### Java 枚举类型 enum 的使用详解 #### 一、枚举类型概述 在 Java 中,枚举(enum)是一种特殊的类,它被用来表示一组固定的常量值。枚举类型自 JDK 1.5 开始引入,为开发者提供了一种更加安全、简洁的方式来...

    Java中的枚举类型Enum示例源代码

    在Java中,枚举类型不是简单的常量数组,而是一种完整的类,具有类的所有特性,如方法、构造函数和继承。下面将详细探讨`Enum`的基本概念、用法以及一些高级特性。 首先,枚举类型`Enum`的定义方式如下: ```java ...

    列举java 枚举相关信息

    ### Java 枚举类型详解 #### 一、引言 ...通过以上的介绍,我们可以看到Java枚举类型不仅提供了类型安全的保障,还为开发者带来了极大的灵活性。合理地使用枚举类型,可以显著提高代码的质量和可维护性。

    Java中的“枚举类型

    ### Java中的“枚举类型”知识点详解 #### 一、引言 在Java编程语言中,枚举(Enum)作为一种特殊的类,其设计初衷是为了更好地处理一组固定不变的常量集合。相较于传统的使用`static final`字段来表示常量的做法...

    java枚举状态机

    Java枚举(Enum)状态机是一种使用枚举类型来实现状态转换逻辑的编程技术,它在Java编程中被广泛应用于管理对象的状态变化。状态机是一种模型,用于描述一个系统或对象在不同时间点可能存在的状态以及如何从一个状态...

    JAVA枚举JAVA枚举.doc

    枚举类型(enum)是 Java SE 5.0 引入的新特性,用于替代传统的单例类或者常量类来定义一组固定数量的值。相较于简单的常量定义或类的静态常量实例,枚举具有以下优势: 1. **类型安全**:枚举类型的实例只能是预定...

    java枚举

    Java枚举类型自Java 5起引入,提供了更为安全且功能丰富的常量定义方式。 #### 二、使用自定义类模拟枚举 在Java枚举类型出现之前,开发者通常使用静态常量或自定义类来模拟枚举行为。如给定文件中所示,`Color`类...

    mybatis入门实战之枚举类型

    本文将深入探讨在MyBatis中如何使用枚举类型,并通过实际的项目"mybatis入门实战之枚举类型"进行讲解。这个项目提供了一个简单的demo,非常适合初学者了解并实践MyBatis的TypeHandler机制。 首先,我们要明白枚举...

    Java枚举数据类型.doc

    Java枚举数据类型是Java 1.5及以后版本引入的一种强大的、类型安全的数据结构,旨在解决传统int常量或String常量表示枚举时存在的问题。在Java中,枚举是一种特殊的类,用于定义一组预定义的常量,这些常量在程序中...

    浅析对java枚举类型的认识

    浅析对java枚举类型的认识 java 枚举类型是 java 语言中的一种特殊类型,用于定义一组固定的常量。枚举类型可以看作是一种特殊的类,但它有着不同的特性和用途。下面我们来详细讲解 java 枚举类型的知识点。 一、...

    JAVA中的枚举类型2:高级特性.doc

    通过这种方式,我们可以在枚举类型中封装更多的业务逻辑,使得枚举不仅仅是一个简单的值容器。 ##### 方法重写实现多态 更进一步地,Java中的枚举类型支持方法重写,这使得我们可以实现某种程度上的多态行为。具体...

    枚举类型的使用

    对于C++,枚举类型在C++98中相对简单,但在C++11及以后版本中引入了更强的枚举类(`enum class`),增强了枚举的封装性: ```cpp enum class Color { Red, Green, Blue }; ``` 在C++中,枚举类的成员需要通过作用...

    2022年掌握JDK1.5枚举类型Java教程.docx

    以下是关于Java枚举类型的一些关键知识点: 1. 构造函数:枚举类无法拥有公共构造函数,这意味着外部代码无法直接创建新的枚举实例,确保了枚举的唯一性。 2. 枚举常量属性:枚举类型的每个实例(枚举常量)都是...

    5-枚举类型、输入输出、处理

    在编程领域,枚举类型(Enumeration Type)是一种强大的工具,用于定义一组预定义的常量。这些常量通常表示特定的值集合,如颜色、星期、状态等。枚举类型可以提供更清晰、更具可读性的代码,同时也能避免因错误的...

    谈谈你可能并不了解的java枚举

    Java枚举远不止简单的枚举常量集合,它提供了一种类型安全、易于理解和使用的方式来表示有限的、固定的值集合。通过深入理解枚举的内部机制和高级特性,我们可以编写出更加优雅、高效和易于维护的代码。因此,对枚举...

    hibernate映射枚举类型

    在Java编程中,枚举类型(Enum)是一种强大的工具,它可以提供固定的、预定义的值集合,常用于表示有限数量的状态或选项。在关系数据库中,我们可能也需要将这些枚举值存储为列的特定类型。Hibernate,作为Java中...

    JAVA_枚举讲解

    在Java中,枚举类型是一种强大的工具,它不仅可以存储常量值,还可以具有方法和行为。枚举在编程中被广泛用于表示固定数量的已知值,例如一周的天数、颜色、季节等。 在Java中,枚举类型的定义是通过关键字`enum`...

Global site tag (gtag.js) - Google Analytics