枚举

本文介绍了Java中枚举的概念,从JDK1.5开始引入的枚举关键字用于定义有限数量的对象结构。枚举是一种多例设计,通过`enum`关键字创建枚举类,并通过`values()`方法获取所有枚举实例。枚举类本质上继承了`Enum`抽象类,枚举对象必须在首行定义,可以包含构造方法、属性和方法。示例中展示了如何定义带有附加信息的枚举,并覆盖枚举的抽象方法。

1、从JDK1.5之后提出的枚举的概念,主要作用是用于定义有限个数对象的结构,枚举就属于多例设计,且其结构比多例设计简单。

2、利用eunm关键字实现枚举的定义

enum Color { //枚举类
    RED,GREEN,BLUE ; //实例化对象
}

Color c = Color.RED ; //在主类中获取实例化对象

在进行枚举处理的时候可以利用values()方法获取所有的枚举对象进行输出。在多例中则需要对象数组。

for(Color color : Color.values()) {
    System.out.println(color) ;
}
可以在switch中进行枚举项的判断。

3、Enum类

枚举本质相当于一个继承Enum类的类。Enum类中的方法:

protected Enum(String name, int ordinal)    构造    传入名字和序号

public final String name()    普通    获得对象名字

public final int ordinal()    普通   获得对象序号

【重要】解释enum与Enum的区别

enum:是从JDK1.5之后提供的一个关键字,用于定义枚举类。

Enum:是一个抽象类,所以使用enum关键字定义的类就默认继承了此类。系统会自动实现转换处理。

4、定义枚举结构

多例设计模式中构造方法私有化,由此可知,①枚举类中定义的构造方法不能采用非私有化定义(即public权限不能用)。②且在Enum类中枚举对象必须写在首行。③其中可以定义的结构很多,包括:构造方法、普通方法、属性等;④还可以实现接口;⑤另外,在枚举类中还可以直接定义抽象方法,此时必须在每一个枚举对象中都覆写抽象方法
enum Color { //枚举类
    RED("红色"),GREEN("绿色"),BLUE("蓝色") ; //实例化对象 
    private String title ;

    // 构造方法
    private Color(String title) {
        this.title = title ;
    }

    //返回信息
    public String toString() {
        return this.title;
    }
}
public class DuoLi {
    public static void main(String[] args) {
        for(Color color : Color.values()) {
            System.out.println(color.ordinal() + "-" + color.name() + "-" + color) ;
        }
    }
}
5、例如,在枚举对象中覆写枚举类中的抽象方法(意义不大)

RED("红色"){public String getMessage(){return this.toString()}},

(不希望用户随意输入的话考虑枚举)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值