java枚举 enum

1.枚举类里一个成员变量


package com.camelot.bcp.entity.operateLog;


public enum WebMenuEnum {
    PRODUCTS_PURCHASING("产品采购"),
    PURCHASE_ORDER("采购订单"),
    CANCEL_ORDER("取消订单"),
    SIGNING_CONTRACT("合同签约");
 
       // 成员变量  

    private String menuName; 

    WebMenuEnum(String menuName) {
        this.menuName = menuName;

    }

    public String getMenuName() {
        return menuName;
    }
}




2.枚举类里两个成员变量


public enum Color {  
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);

    // 成员变量  
    private String name;  
    private int index;  


    // 构造方法  
    private Color(String name, int index) {  
        this.name = name;  
        this.index = index;  
    }  

}  


3.写方法时,如何传递枚举

   定义一个方法,接受枚举变量:

     public static void record(WebMenuEnum enum) {
            system.out.println( enum.getMenuName() );

     }

   别人如何调你的方法:

     record( WEBMENUENUM.PRODUCTS_PRRCAHSING );

 


4.enum不能使用 extends 关键字继承其他类


enum的语法结构尽管和class的语法不一样,但是经过编译器编译之后产生的是一个class文件。该class文件经过反编译可以看到实际上是生成了一个类,该类继承了java.lang.Enum<E>。EnumTest经过反编译(javap com.hmw.test.EnumTest 命令)之后得到的内容如下:


public class com.hmw.test.EnumTest extends java.lang.Enum{
    public static final com.hmw.test.EnumTest MON;
    public static final com.hmw.test.EnumTest TUE;
    public static final com.hmw.test.EnumTest WED;
    public static final com.hmw.test.EnumTest THU;
    public static final com.hmw.test.EnumTest FRI;
    public static final com.hmw.test.EnumTest SAT;
    public static final com.hmw.test.EnumTest SUN;
    static {};
    public int getValue();
    public boolean isRest();
    public static com.hmw.test.EnumTest[] values();
    public static com.hmw.test.EnumTest valueOf(java.lang.String);
    com.hmw.test.EnumTest(java.lang.String, int, int, com.hmw.test.EnumTest);
}

所以,实际上 enum 就是一个 class,只不过 java 编译器帮我们做了语法的解析和编译而已。即enum不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承),只能implements接口。






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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值