欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)例講解枚舉enum的實(shí)現(xiàn)

 更新時(shí)間:2022年06月08日 09:11:43   作者:Demo龍  
枚舉法的本質(zhì)就是從所有候選答案中去搜索正確的解,枚舉算法簡(jiǎn)單粗暴,他暴力的枚舉所有可能,盡可能地嘗試所有的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一.枚舉介紹

1.枚舉是一組常量的集合

2.理解:美劇屬于一種特殊的類(lèi),里面只包含一組有限的特定的對(duì)象

1.自定義枚舉實(shí)現(xiàn)

1.不需要提供Set方法,枚舉對(duì)象值通常為只讀。

2.對(duì)枚舉對(duì)象/屬性使用final和static關(guān)鍵字修飾,實(shí)現(xiàn)底層優(yōu)化

3.枚舉對(duì)象名通常使用全部大寫(xiě),常量的命名規(guī)范

4.枚舉·對(duì)象根據(jù)需要,可以有一到多個(gè)屬性

(1)示例

package com.demo;
import javax.sound.midi.Soundbank;
/**
 * @version 1.0
 * @auther Demo龍
 */
public class Enum01 {
    public static void main(String[] args) {
        System.out.println(Season.SPRING);
        System.out.println(Season.SUMMER);
        System.out.println(Season.AUTUMN);
        System.out.println(Season.WINTER);
    }
}
//演示自定義枚舉實(shí)現(xiàn)
class Season{
    private String name;
    private String desc;//描述特性
    //1.將構(gòu)造器私有化,目的防止直接new出來(lái)
    private Season(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }
    //2.去掉set方法,只能讀取,不能修改屬性
    public String getName() {
        return name;
    }
    public String getDesc() {
        return desc;
    }
    //3.在season內(nèi)部創(chuàng)建固定的對(duì)象
    //定義了四個(gè)對(duì)象
//    public static Season SPRING=new Season("春天","溫暖");
//    public static Season SUMMER=new Season("夏天","炎熱");
//    public static Season AUTUMN=new Season("秋天","涼爽");
//    public static Season WINTER=new Season("冬天","寒冷");
    //最終優(yōu)化,加入final
    public static final Season SPRING=new Season("春天","溫暖");
    public static final Season SUMMER=new Season("夏天","炎熱");
    public static final Season AUTUMN=new Season("秋天","涼爽");
    public static final Season WINTER=new Season("冬天","寒冷");
    //重寫(xiě)toString方法
    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

(2)測(cè)試結(jié)果

2.enum關(guān)鍵字實(shí)現(xiàn)枚舉

如果使用enum關(guān)鍵字來(lái)實(shí)現(xiàn)枚舉類(lèi)

1.使用關(guān)鍵字enum替換class

2.public static final Season02 SPRING=new Season02(“春天”,“溫暖”);可替換為 SPRING(“春天”,“溫暖”),//解讀:常量名(實(shí)參列表)

3.如果有多個(gè)常量使用逗號(hào)間隔即可

4.如果使用enum關(guān)鍵字實(shí)現(xiàn)枚舉,要求將定義的常量對(duì)象寫(xiě)下前面

(1)示例

package com.demo;
/**
 * @version 1.0
 * @auther Demo龍
 */
public class Enum02 {
    public static void main(String[] args) {
        System.out.println(Season.SPRING);
        System.out.println(Season.SUMMER);
        System.out.println(Season.AUTUMN);
        System.out.println(Season.WINTER);
    }
}
//演示使用enum關(guān)鍵字來(lái)實(shí)現(xiàn)枚舉類(lèi)
enum Season02{
    //如果使用enum關(guān)鍵字來(lái)實(shí)現(xiàn)枚舉類(lèi)
    //1.使用關(guān)鍵字enum替換class
    //2.public static final Season02 SPRING=new Season02("春天","溫暖");可替換為
    SPRING("春天","溫暖"),//解讀:常量名(實(shí)參列表)
    //3.如果有多個(gè)常量使用逗號(hào)間隔即可
    SUMMER("夏天","炎熱"),
    AUTUMN("秋天","涼爽"), WINTER("冬天","寒冷");
    //4.如果使用enum關(guān)鍵字實(shí)現(xiàn)枚舉,要求將定義的常量對(duì)象寫(xiě)下前面
    private String name;
    private String desc;//描述特性
    //1.將構(gòu)造器私有化,目的防止直接new出來(lái)
    private Season02(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }
    //2.去掉set方法,只能讀取,不能修改屬性
    public String getName() {
        return name;
    }
    public String getDesc() {
        return desc;
    }
    //3.在season內(nèi)部創(chuàng)建固定的對(duì)象
    //定義了四個(gè)對(duì)象
//    public static Season SPRING=new Season("春天","溫暖");
//    public static Season SUMMER=new Season("夏天","炎熱");
//    public static Season AUTUMN=new Season("秋天","涼爽");
//    public static Season WINTER=new Season("冬天","寒冷");
    //最終優(yōu)化,加入final
//    public static final Season02 SPRING=new Season02("春天","溫暖");
//    public static final Season02 SUMMER=new Season02("夏天","炎熱");
//    public static final Season02 AUTUMN=new Season02("秋天","涼爽");
//    public static final Season02 WINTER=new Season02("冬天","寒冷");
    //重寫(xiě)toString方法
    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

(2)測(cè)試結(jié)果

3.enum關(guān)鍵字注意事項(xiàng)

1.當(dāng)我i們使用enum關(guān)鍵字開(kāi)發(fā)一個(gè)枚舉類(lèi)時(shí),默認(rèn)會(huì)繼承Enum類(lèi)

2.傳統(tǒng)的public static final Season02 SPRING=new Season02("春天","溫暖");,這里要知道他調(diào)用的是哪個(gè)構(gòu)造器

3.如果使用無(wú)參構(gòu)造器創(chuàng)建枚舉對(duì)象,則實(shí)參列表和小括號(hào)都可以省略.

4.當(dāng)有多個(gè)枚舉對(duì)象時(shí),使用逗號(hào)間隔,最后有一個(gè)分號(hào)結(jié)尾

5.枚舉對(duì)象必須放在枚舉類(lèi)的行首

(1)示例

package com.demo;
/**
 * @version 1.0
 * @auther Demo龍
 */
public class Enum02 {
    public static void main(String[] args) {
        System.out.println(Season.SPRING);
        System.out.println(Season.SUMMER);
        System.out.println(Season.AUTUMN);
        System.out.println(Season.WINTER);
    }
}
//演示使用enum關(guān)鍵字來(lái)實(shí)現(xiàn)枚舉類(lèi)
enum Season02{
    //如果使用enum關(guān)鍵字來(lái)實(shí)現(xiàn)枚舉類(lèi)
    //1.使用關(guān)鍵字enum替換class
    //2.public static final Season02 SPRING=new Season02("春天","溫暖");可替換為
    SPRING("春天","溫暖"),//解讀:常量名(實(shí)參列表)
    //3.如果有多個(gè)常量使用逗號(hào)間隔即可
    SUMMER("夏天","炎熱"),
    AUTUMN("秋天","涼爽"), WINTER("冬天","寒冷"),
    //3.如果使用無(wú)參構(gòu)造器創(chuàng)建枚舉對(duì)象,則實(shí)參列表和小括號(hào)都可以省略.兩種寫(xiě)法
    HAHA,//調(diào)用無(wú)參構(gòu)造器
    HAHAHA();//調(diào)用無(wú)參構(gòu)造器
    //4.如果使用enum關(guān)鍵字實(shí)現(xiàn)枚舉,要求將定義的常量對(duì)象寫(xiě)下前面
    private String name;
    private String desc;//描述特性
    //1.將構(gòu)造器私有化,目的防止直接new出來(lái)
    private Season02(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }
    private Season02() {
        //無(wú)參構(gòu)造器
    }
    //2.去掉set方法,只能讀取,不能修改屬性
    public String getName() {
        return name;
    }
    public String getDesc() {
        return desc;
    }
    //3.在season內(nèi)部創(chuàng)建固定的對(duì)象
    //定義了四個(gè)對(duì)象
//    public static Season SPRING=new Season("春天","溫暖");
//    public static Season SUMMER=new Season("夏天","炎熱");
//    public static Season AUTUMN=new Season("秋天","涼爽");
//    public static Season WINTER=new Season("冬天","寒冷");
    //最終優(yōu)化,加入final
//    public static final Season02 SPRING=new Season02("春天","溫暖");
//    public static final Season02 SUMMER=new Season02("夏天","炎熱");
//    public static final Season02 AUTUMN=new Season02("秋天","涼爽");
//    public static final Season02 WINTER=new Season02("冬天","寒冷");
    //重寫(xiě)toString方法
    @Override
    public String toString() {
        return "Season{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}

到此這篇關(guān)于Java實(shí)例講解枚舉enum的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Java枚舉內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java操作FTP實(shí)現(xiàn)上傳下載功能

    Java操作FTP實(shí)現(xiàn)上傳下載功能

    這篇文章主要為大家詳細(xì)介紹了Java如何通過(guò)操作FTP實(shí)現(xiàn)上傳下載的功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下
    2022-11-11
  • SpringBoot跨域Jsonp和Cors的方法

    SpringBoot跨域Jsonp和Cors的方法

    這篇文章主要介紹了SpringBoot跨域Jsonp和Cors的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java overload和override的區(qū)別分析

    Java overload和override的區(qū)別分析

    方法的重寫(xiě)(Overriding)和重載(Overloading)是Java多態(tài)性的不同表現(xiàn),想要了解更多請(qǐng)參考本文
    2012-11-11
  • 利用Java搭建個(gè)簡(jiǎn)單的Netty通信實(shí)例教程

    利用Java搭建個(gè)簡(jiǎn)單的Netty通信實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于如何利用Java搭建個(gè)簡(jiǎn)單的Netty通信,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(Stack)實(shí)現(xiàn)詳解

    Java數(shù)據(jù)結(jié)構(gòu)與算法之棧(Stack)實(shí)現(xiàn)詳解

    這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)筆記第二篇,Java數(shù)據(jù)結(jié)構(gòu)與算法之棧Stack實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringSecurityOAuth2實(shí)現(xiàn)微信授權(quán)登錄

    SpringSecurityOAuth2實(shí)現(xiàn)微信授權(quán)登錄

    微信的登錄功能是用戶(hù)注冊(cè)和使用微信的必經(jīng)之路之一,而微信授權(quán)登錄更是方便了用戶(hù)的登錄操作,本文主要介紹了SpringSecurityOAuth2實(shí)現(xiàn)微信授權(quán)登錄,感興趣的可以了解一下
    2023-09-09
  • MyBatis緩存實(shí)現(xiàn)原理及代碼實(shí)例解析

    MyBatis緩存實(shí)現(xiàn)原理及代碼實(shí)例解析

    這篇文章主要介紹了MyBatis緩存實(shí)現(xiàn)原理及代碼實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 深入理解Java設(shè)計(jì)模式之中介者模式

    深入理解Java設(shè)計(jì)模式之中介者模式

    這篇文章主要介紹了JAVA設(shè)計(jì)模式之中介者模式的的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解
    2021-11-11
  • JAVA二叉樹(shù)的幾種遍歷(遞歸,非遞歸)實(shí)現(xiàn)

    JAVA二叉樹(shù)的幾種遍歷(遞歸,非遞歸)實(shí)現(xiàn)

    這篇文章主要介紹了JAVA二叉樹(shù)的幾種遍歷(遞歸,非遞歸)實(shí)現(xiàn),需要的朋友可以參考下
    2020-12-12
  • 利用JavaMail發(fā)送HTML模板郵件

    利用JavaMail發(fā)送HTML模板郵件

    這篇文章主要為大家詳細(xì)介紹了利用JavaMail發(fā)送HTML模板郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評(píng)論