真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java中枚舉類(lèi)型定義和重寫(xiě)枚舉的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)java中枚舉類(lèi)型定義和重寫(xiě)枚舉的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

沙灣網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

什么是枚舉類(lèi)型

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

而這種枚舉類(lèi)型的名稱(chēng)則會(huì)被定義成獨(dú)一無(wú)二的類(lèi)型描述符,在這一點(diǎn)上和常量的定義相似。不過(guò)相比較常量類(lèi)型,枚舉類(lèi)型可以為申明的變量提供更大的取值范圍。

簡(jiǎn)單的枚舉類(lèi)型定義

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

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
}

定制枚舉類(lèi)型

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

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

在Java中定義枚舉類(lèi)型的值

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

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

重寫(xiě)枚舉的方法

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

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

實(shí)現(xiàn)接口

所有的枚舉都繼承自java.lang.Enum類(lèi)。

由于Java 不支持多繼承,所以枚舉對(duì)象不能再繼承其他類(lèi),但是可以實(shí)現(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
正常
停止

關(guān)于“java中枚舉類(lèi)型定義和重寫(xiě)枚舉的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。


分享名稱(chēng):java中枚舉類(lèi)型定義和重寫(xiě)枚舉的示例分析
網(wǎng)址分享:http://weahome.cn/article/goishi.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部