最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java編程枚舉類型那些事!枚舉類型定義和重寫枚舉的方法

 更新時間:2017年10月23日 15:53:33   作者:i_belive_my_love的博客  
本文主要介紹了枚舉類型的有關(guān)內(nèi)容,涉及簡單的枚舉類型定義,以及枚舉類型的值在Java中的定義方法,具有一定參考價值,需要的朋友可以了解下。

什么是枚舉類型

枚舉類型(Enumerated Type) 很早就出現(xiàn)在編程語言中,它被用來將一組類似的值包含到一種類型當中。

而這種枚舉類型的名稱則會被定義成獨一無二的類型描述符,在這一點上和常量的定義相似。不過相比較常量類型,枚舉類型可以為申明的變量提供更大的取值范圍。

簡單的枚舉類型定義

假如你希望創(chuàng)建一個顏色庫,你可以這樣定義枚舉類型

enum Color {red, green, yellow, black};

然后你就可以使用它

Color T = Color.red;
if (T == Color.red)
  System.out.println("i am red");
switch(T) {
 case red:
   System.out.println("i am red");
   break
}

定制枚舉類型

在C/C++中,我們可以這樣使用枚舉變量

enum color {red,green};
enum color a = 1;// a is green

在Java中定義枚舉類型的值

enum color {
 red(1),green(2);
 private final int number;
 color(int i) {
  this.number = i;
 }
 public getValue() {
  return this.number;
 }
}

然后使用 T.getValue() 便可獲取綁定的值

重寫枚舉的方法

枚舉類給我們提供的方法有,具體可以查看Enum.java

name, toString, valueOf //獲取名字
equals //比較
ordinal //獲取位置

實現(xiàn)接口

所有的枚舉都繼承自java.lang.Enum類。

由于Java 不支持多繼承,所以枚舉對象不能再繼承其他類,但是可以實現(xiàn)接口

Test

enum number {
  zero(0),one(1),two(2);
  int n;
  number(int i) {
    this.n = i;
  }
  public int getValue(){
    return this.n;
  }
}
interface People_State {
  String getState();
  State_Enum ChangeState();
}
enum State_Enum implements People_State {
  normal("正常"), stop("停止");
  private final String state;
  State_Enum(String s) {
    this.state = s;
  }
  public String toString() {
    return state;
  }
  @Override
  public String getState() {
    return state;
  }
  @Override
  public State_Enum ChangeState() {
    if (this == normal)
      return stop;
    else
      return normal;
  }
}
public class Test_Enum {
  public static void main(String[] args) {
    number z = number.zero;
    State_Enum state = State_Enum.normal;
    System.out.println(z.getValue());
    System.out.println(z);
    System.out.println(number.one);
    switch (z) {
      case zero:
        System.out.println(0);
        break;
      case one:
        System.out.println(1);
        break;
      case two:
        System.out.println("2");
        break;
    }
    //equals
    if (z.equals(number.one)) {
      System.out.println("equal!");
    } else {
      System.out.println("unequal");
    }
    //valueOf
    System.out.println(number.valueOf("zero"));
    //ordinal
    System.out.println(z.ordinal()); //the index of values
    System.out.println(state.toString());
    state = state.ChangeState();
    System.out.println(state.getState());
  }
}

Output

0
zero
one
0
unequal
zero
0
正常
停止

總結(jié)

以上就是本文關(guān)于java編程枚舉類型定義和重寫枚舉的方法的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Java編程long數(shù)據(jù)類型的使用問題、java編程基礎(chǔ)之模仿用戶登錄代碼分享等,有什么問題可以隨時留言,小編會及時回復大家的。感謝朋友們對本站的支持!

相關(guān)文章

最新評論

那坡县| 广州市| 含山县| 鄂尔多斯市| 通州区| 集安市| 崇明县| 邵武市| 肇州县| 旅游| 筠连县| 牡丹江市| 临江市| 盈江县| 临安市| 平安县| 仪陇县| 宁乡县| 温宿县| 高安市| 玛纳斯县| 昌平区| 凌源市| 荆门市| 泾阳县| 庄河市| 宁陵县| 湘潭县| 梧州市| 开江县| 新河县| 灯塔市| 浦城县| 浑源县| 上饶县| 天镇县| 香河县| 科技| 山西省| 教育| 久治县|