zoukankan      html  css  js  c++  java
  • 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 不支持多继承,所以枚举对象不能再继承其他类。

  • 相关阅读:
    大数据概述
    语法分析-代码
    语法分析-C语言程序
    Hadoop综合大作业
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
    爬虫大作业
    熟悉常用的HDFS操作
    数据结构化与保存
  • 原文地址:https://www.cnblogs.com/fxzemmm/p/14847958.html
Copyright © 2011-2022 走看看