zoukankan      html  css  js  c++  java
  • java枚举

    1.构造函数 方法 成员变量

    首先,枚举的构造函数必须是private,因为不可以人为创造除列举以外的对象.

    成员变量value被绑定为对象的解释字段.

     1 public enum Level {
     2     F("黄铜"),E("白银"),D("黄金"),C("铂金"),B("钻石"),A("王者");
     3     
     4     private String value;
     5     //
     6     private Level(String value){
     7         this.value = value;
     8     }
     9     
    10     public String getValue(){
    11         return this.value;
    12     }
    13     
    14     public void print(){
    15         System.out.println(this.toString() + ":" + this.value);
    16     }
    17     public static void main(String[] args) {
    18         Level.A.print();
    19     }
    20 }

    2.枚举的抽象方法的实现(包括实现接口)

    实现抽象方法必须从对象本身去实现;

     1 public enum Level {
     2     F("黄铜"){
     3 
     4         @Override
     5         public String sp() {
     6             // TODO Auto-generated method stub
     7             return "菜B";
     8         }
     9         
    10     },
    11     E("白银"){
    12 
    13         @Override
    14         public String sp() {
    15             // TODO Auto-generated method stub
    16             return "不坑";
    17         }
    18         
    19     }
    20     ,D("黄金"){
    21 
    22         @Override
    23         public String sp() {
    24             // TODO Auto-generated method stub
    25             return "会玩";
    26         }
    27         
    28     },
    29     C("铂金"){
    30 
    31         @Override
    32         public String sp() {
    33             // TODO Auto-generated method stub
    34             return "挺6";
    35         }
    36         
    37     },B("钻石") {
    38         @Override
    39         public String sp() {
    40             // TODO Auto-generated method stub
    41             return "吊炸天";
    42         }
    43     },A("王者") {
    44         @Override
    45         public String sp() {
    46             // TODO Auto-generated method stub
    47             return "神级";
    48         }
    49     };
    50 
    51         
    52     public abstract String sp();
    53     private String value;
    54     
    55     private Level(String value){
    56         this.value = value;
    57     }
    58     
    59     public String getValue(){
    60         return this.value;
    61     }
    62     
    63 }
    64     

    3.使用枚举实现单态设计模式

    当枚举中只枚举一个对象时,就类似于一个类只创建一个对象,从而实现单态设计模式.

    4.其他方法:

    name() 得到枚举名称

    valueOf(String) 将字符串转换为枚举值

    values(String) 将字符串转换为所有枚举值

    ordinal() 返回枚举对象位置(如F的位置为1)

  • 相关阅读:
    抛开BlazeDS,自定义flex RPC
    设计模式学习03装饰器模式
    通过ANT生成MANIFEST.MF中的ClassPath属性
    Spring JDBCTemplate与Hiberante混用
    关于 两个 datetime 列的差别导致了运行时溢出
    在Wcf中使用Nhibernate (续)
    sql2005/sql2008 分页
    工行支付api查询asp.net C# 实现
    生成静态页面的vbscript
    Asp.net Mvc Post ID Bug
  • 原文地址:https://www.cnblogs.com/sunnysola/p/4865105.html
Copyright © 2011-2022 走看看