• java枚举类的简单使用


    在JDK1.5 之前,我们定义常量都是: public static final… 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 枚举类实际上就是简化的多例化设计。多例化设计的特点是什么?
    构造方法私有化。。构造方法私有化。。构造方法私有化。。

    enum Color{   //定义一个枚举类
        HONGSE,LANSE,HUANGSE  //此处没有分号 此处生成了三个实例化对象
    }
    
    public class Test {
        public static void main(String args[]){
            Color temp=Color.HONGSE; //直接用类名调用对象
            System.out.println(temp);//HONGSE  说明toString方法重写了 直接返回对象名称
        }
    }
    

    在枚举类中提供了valuse()方法,这个方法会将枚举类全部对象以对象数组的形式返回。因为枚举中没有下标,我们没有办法通过下标来快速找到需要的枚举类,这时候,转变为数组之后,我们就可以通过数组的下标,来找到我们需要的枚举类。
    我们先来拓展一下枚举类的结构,代码如下:

    package com.Test.Demo.TesrDemo1;
    
    public enum YanSe {
        HONG("红色",1),LAN("蓝色",2),HUANG("黄色",3),HEI("黑色",4);//此处定义了枚举对象 必须写在首行
        private String name;
        private int id;
        private YanSe(){//枚举类型构造方法不能用public声明
    
        }
        private YanSe(String name,int id){
            this.name=name;
            this.id=id;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public int getId() {
            return id;
        }
    }
    
    

    我们再写一个main方法测试一下功能。

    package com.Test.Demo.TesrDemo1;
    
    public class TestDemo1 {
        public static void main(String args[]){
            YanSe[] temp1=YanSe.values();
            for(YanSe tt :temp1){
            System.out.println(tt+"--"+tt.getId()+"--"+tt.getName());
            }
        }
    }
    /*程序执行结果:
                HONG--1--红色
                LAN--2--蓝色
                HUANG--3--黄色
                HEI--4--黑色
    */
    
    
    

    枚举类可以看做一种特殊的类,所以枚举类也可以实现接口,但是枚举类都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。

  • 相关阅读:
    ASP.NET 构建高性能网站 架构设计
    ASP.NET 构建高性能网站 架构设计
    Vim和Vi的常用命令
    Vim和Vi的常用命令
    Vim和Vi的常用命令
    【收藏】前端知识体系完整版本
    【收藏】前端知识体系完整版本
    Ubuntu-升级linux软件源,安装vim/五笔
    高阶函数---swift中的泛型介绍(一步步实现Map函数)
    Go基础学习(二)
  • 原文地址:https://www.cnblogs.com/fxzemmm/p/14847958.html
Copyright © 2020-2023  润新知