亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

JavaAPI學(xué)習(xí)——java.lang(三)

ranwu / 2833人閱讀

摘要:中的枚舉是一個(gè)類(lèi),所以枚舉也可一后構(gòu)造函數(shù)和其他的方法只是枚舉繼承了類(lèi),所以它不能再繼承其它的類(lèi)。如果給每個(gè)枚舉值指定屬性,則必須給枚舉類(lèi)提供枚舉值屬性對(duì)應(yīng)數(shù)據(jù)類(lèi)型的構(gòu)造方法。紅色藍(lán)色白色運(yùn)行的結(jié)果為藍(lán)色

二、類(lèi) 1、Enum 枚舉

java 語(yǔ)言所有枚舉類(lèi)型的公共類(lèi);

枚舉用來(lái)替換使用常量表示列入顏色、方式、類(lèi)別等數(shù)量有限,形式離散有表示明確的量;

枚舉是類(lèi)型安全的,超出枚舉類(lèi)型的返回,將會(huì)發(fā)生編譯時(shí)錯(cuò)誤;

例:

使用常量來(lái)表示顏色:

public class Entity{
    public static final int red = 1;
    public static final int white = 2;
    public static final int blue = 3;
    private int id;
    private int color;
    
    public Entity(int id, int color){
        this.id = id;
        this.color = color;
    }
    
    //id與color的getter 和setter方法
    ...
    
}

實(shí)例化一個(gè)Entity對(duì)象時(shí):

Entity entity = new Entity();
entity.setId(10);
entity.setColor(1);

或者:

Entity entity = new Entity();
entity.setId(10);
entity.setColor(Entity.red);

使用第一種方式,代碼的可讀性低,1到底代表的什么顏色,需要到Entity類(lèi)中查看;
使用第二種方式,同樣需要去Entity類(lèi)中查看代碼,才能知道怎么調(diào)用,參數(shù)要怎么傳。

使用枚舉來(lái)表示顏色

//Color.java
package com.heisenberg.Learn;

public enum Color {
    red,blue,white
}
//Entity.java
package com.heisenberg.Learn;

public class Entity {
    private Color color;
    private int id;
    public Color getColor() {
        return color;
    }
    public void setColor(Color color) {
        this.color = color;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    
    public static void main(String[] args) {
        Entity entity = new Entity();
        entity.setId(10);
        entity.setColor(Color.blue);
    }
}

使用枚舉,代碼的可讀性提升了,并且在給color賦值時(shí),只能選擇Color枚舉類(lèi)中定義的三個(gè)選項(xiàng),所以枚舉是類(lèi)型安全的,如果使用了另外的值,將出現(xiàn)編譯錯(cuò)誤。

java中的枚舉是一個(gè)類(lèi),所以枚舉也可一后構(gòu)造函數(shù)和其他的方法;只是枚舉繼承了Enum類(lèi),所以它不能再繼承其它的類(lèi)。

如果給每個(gè)枚舉值指定屬性,則必須給枚舉類(lèi)提供枚舉值屬性對(duì)應(yīng)數(shù)據(jù)類(lèi)型的構(gòu)造方法。如下,Color的每個(gè)枚舉值都帶有一個(gè)int和一個(gè)String類(lèi)型的屬性,則必須提供Color(int value,String name)的構(gòu)造方法;屬性的名稱(chēng)不受限制,但是屬性的類(lèi)型要一一對(duì)應(yīng)。

//Color.java
package com.heisenberg.Learn;

public enum Color {
    red(1,"紅色"),blue(2,"藍(lán)色"),white(3,"白色");
    
    int value;
    String name;
    private Color(int value, String name) {
        this.value = value;
        this.name = name;
    }
    public int getValue() {
        return value;
    }
    public void setValue(int value) {
        this.value = value;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
public static void main(String[] args) {
        Entity entity = new Entity();
        entity.setId(10);
        entity.setColor(Color.blue);
        System.out.println(entity.getColor().getValue());
        System.out.println(entity.getColor().getName());
    }

運(yùn)行的結(jié)果為:


藍(lán)色

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/68323.html

相關(guān)文章

  • JavaAPI學(xué)習(xí)——java.lang(一)

    摘要:一接口能夠被添加字符序列和字符的對(duì)象。對(duì)于多線(xiàn)程訪問(wèn)而言沒(méi)必要是安全的。是值的一個(gè)可讀序列。此接口對(duì)許多不同種類(lèi)的序列提供統(tǒng)一的只讀訪問(wèn)。如果該對(duì)象小于等于或大于指定對(duì)象,則分別返回負(fù)整數(shù)零或正整數(shù)。 一、接口 1、Appendable 能夠被添加字符序列(CharSequence)和字符(char)的對(duì)象。CharSequence已知實(shí)現(xiàn)的類(lèi)有:CharBuffer、Segment...

    roland_reed 評(píng)論0 收藏0
  • JavaAPI學(xué)習(xí)——java.lang(二)

    摘要:已知常用子接口實(shí)現(xiàn)該接口的類(lèi)可以成為語(yǔ)句的目標(biāo)唯一方法返回一個(gè)在一組類(lèi)型的元素上進(jìn)行迭代的迭代器。使用遍歷對(duì)象判斷是否存在下一個(gè)元素獲取下一個(gè)元素移除該元素為類(lèi)專(zhuān)門(mén)創(chuàng)建的接口。 6 Iterable 已知常用子接口:Collection、List、Set; 實(shí)現(xiàn)該接口的類(lèi)可以成為foreach 語(yǔ)句的目標(biāo) List list = new ArrayList(); for(List ...

    princekin 評(píng)論0 收藏0
  • Elasticsearch入門(mén)學(xué)習(xí)(四):使用javaAPI學(xué)習(xí)ES

    摘要:一依賴(lài)剛開(kāi)始少這個(gè)包創(chuàng)建索引失敗官方文檔并沒(méi)有給這個(gè)提示二開(kāi)始之前的準(zhǔn)備官方文檔連接操作所用到的實(shí)體類(lèi)三關(guān)于索引的操作官方文檔新增索引索引名稱(chēng)分片副本內(nèi)容查詢(xún)指定索引索引名稱(chēng)刪除索引四關(guān)于文檔的操作官方文檔創(chuàng)建文檔索引名稱(chēng)前 一、Maven依賴(lài) org.elasticsearch elasticsearch 7.1.0...

    kun_jian 評(píng)論0 收藏0
  • Java的類(lèi)加載機(jī)制

    摘要:如果需要支持類(lèi)的動(dòng)態(tài)加載或需要對(duì)編譯后的字節(jié)碼文件進(jìn)行解密操作等,就需要與類(lèi)加載器打交道了。雙親委派模型,雙親委派模型,約定類(lèi)加載器的加載機(jī)制。任何之類(lèi)的字節(jié)碼都無(wú)法調(diào)用方法,因?yàn)樵摲椒ㄖ荒茉陬?lèi)加載的過(guò)程中由調(diào)用。 jvm系列 垃圾回收基礎(chǔ) JVM的編譯策略 GC的三大基礎(chǔ)算法 GC的三大高級(jí)算法 GC策略的評(píng)價(jià)指標(biāo) JVM信息查看 GC通用日志解讀 jvm的card table數(shù)據(jù)...

    aervon 評(píng)論0 收藏0
  • Java反射:Web學(xué)習(xí)的靈魂

    摘要:反射學(xué)習(xí)的靈魂我們從最初的,到面向?qū)ο蟛糠?,我們可以將代碼在計(jì)算機(jī)中經(jīng)歷的階段分為三部分源代碼階段類(lèi)對(duì)象階段運(yùn)行時(shí)階段而我們知道,中一個(gè)類(lèi)在源代碼階段,是存儲(chǔ)在硬盤(pán)中的,而編譯后,就已經(jīng)被加載到內(nèi)存中區(qū),那么有沒(méi)有一種方法可以在這種情況下 反射:Web學(xué)習(xí)的靈魂 我們從最初的 javac -HelloWorld.java,到面向?qū)ο蟛糠郑覀兛梢詫ava代碼在計(jì)算機(jī)中經(jīng)歷的階段分為三...

    Vultr 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<