亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中枚舉類型定義和重寫枚舉的示例分析

發布時間:2021-08-07 11:40:54 來源:億速云 閱讀:182 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關java中枚舉類型定義和重寫枚舉的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

什么是枚舉類型

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

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

簡單的枚舉類型定義

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

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 //獲取位置

實現接口

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

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

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
正常
停止

關于“java中枚舉類型定義和重寫枚舉的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兰考县| 霸州市| 乌鲁木齐市| 和平县| 宣恩县| 平泉县| 东乡族自治县| 乌拉特前旗| 舞钢市| 襄汾县| 峨眉山市| 朝阳区| 淮阳县| 化隆| 新晃| 大荔县| 伊金霍洛旗| 乐昌市| 嘉义市| 招远市| 周口市| 资中县| 五家渠市| 宜兰市| 苏尼特左旗| 屏山县| 成都市| 三河市| 长治市| 报价| 拜城县| 理塘县| 清徐县| 克拉玛依市| 民勤县| 普定县| 西平县| 临夏市| 密山市| 长武县| 额济纳旗|