枚举类型

基本的枚举

枚举的构造方法中的要点:

  • 枚举的连接中间用的是逗号“,”


如:

enum Constants2{
        //这里提示是constant2对应的方法
        Constans_A("我是枚举成员A"),
        Constans_B("我是枚举成员B"),
        Constans_C("我是枚举成员C"),
        Constans_D(5);
        }
  • 枚举类型的构造方法是用private
private String describetion;
        private int i= 6;
        private Constants2 () {

        }
        private Constants2(String describetion){
            this.describetion = describetion;
        }
        private Constants2 (int i) {
            this.i += i;
        }
  • 调用方法对应的是public类型
public String getDescribetion(){//方法要加括号
            return this.describetion;
        }
public int getI(){
    return this.i;
    }

**定义一个参数后,需要对枚举类型成员使用相应的方法,如:Constans_A(“我是枚举成员A”),使用了

 private Constants2(String describetion){
            this.describetion = describetion;
        } 

的构造方法。注意这个名称是枚举定义名的名称
整体代码如下:

package com.java.a17;

import org.omg.CORBA.PRIVATE_MEMBER;

public class EnumIndexTest {
    enum Constants2{
        //这里提示是constant2对应的方法

        Constans_A("我是枚举成员A"),
        Constans_B("我是枚举成员B"),
        Constans_C("我是枚举成员C"),
        Constans_D(5);


        private String describetion;
        private int i= 6;
        private Constants2 () {

        }
        private Constants2(String describetion){
            this.describetion = describetion;
        }
        private Constants2 (int i) {
            this.i += i;
        }
        public String getDescribetion(){//方法要加括号
            return this.describetion;
        }
        public int getI(){
            return this.i;
        }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        for(int i =0;i<Constants2.values().length;i++){
            System.out.println(Constants2.values()[i]+"调用getDescribetion方法"
                    +Constants2.values()[i].getDescribetion());
        }
    }

}   

带接口的枚举类型

接口的声明
只用给出相应的声明不用写构造函数

interface d{
    public String getDescribetion() ; // 接口只负责抽象定义
    public int getI();

}

在枚举类型中应用接口时可以在每个枚举成员中单独实现,但是构造的枚举内部使用public 外部的构造方法还是用的public。
如下:

package com.java.a17;

interface d{
    public String getDescribetion() ; // 接口只负责抽象定义
    public int getI();

}
public enum AnyEnum implements d{

    /**
     * @param args
     */

    Constants_A{
        @Override
        public String getDescribetion() {
            // TODO 自动生成的方法存根
            return ("我是枚举A");
        }

        @Override
        public int getI() {
            // TODO 自动生成的方法存根
            return i;
        }
    },
    Constant_B{

        @Override
        public String getDescribetion() {
            // TODO 自动生成的方法存根
            return ("我是枚举B");
        }

        @Override
        public int getI() {
            // TODO 自动生成的方法存根
            return i;
        }

    };
    private static int i =5 ;   // 表示枚举成员
    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        for (int i = 0; i < AnyEnum.values().length; i++) {
            System.out.println(AnyEnum.values()[i]+"实现的getDescription"
                    +AnyEnum.values()[i].getDescribetion());

        }

    }

}

所以要对照以上两种来学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值