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

Java枚舉與注解的創(chuàng)建步驟

 更新時間:2021年06月23日 10:30:52   作者:DTFT_W  
這篇文章通過抽象的概念和具體實現(xiàn)步驟,充分說明了java枚舉與注解的概念和使用方法,通過該篇文章你可以學會如何自定義枚舉類和了解部分Java內(nèi)置注解,希望對你有所幫助

枚舉

自定義枚舉類

創(chuàng)建方法

  1. 將構(gòu)造器私有化,防止直接new
  2. 去掉setXXX方法,防止屬性直接被修改
  3. 在類的內(nèi)部,直接創(chuàng)建固定的對象
  4. 優(yōu)化:在創(chuàng)建對象時添加final修飾,類就不會被加載

注意事項

  • 對枚舉對象/屬性使用final+static共同修飾,實現(xiàn)底層優(yōu)化
  • 枚舉對象名通常使用全部大寫
  • 枚舉對象根據(jù)需要,也可以有多個屬性

關鍵字Enum枚舉類

創(chuàng)建步驟

  1. 使用關鍵字enum替代class
  2. public static final Season SPRING = new Season("春天","溫暖");直接使用SPRING("春天","溫暖"):常量名(實參列表)
  3. 如果使用無參構(gòu)造器創(chuàng)建枚舉對象,則實參列表和小括號都可以省略
  4. 如果有多個常量(對象),使用,間隔,最后一個用分號;
  5. 如果使用enum來實現(xiàn)枚舉類,要求將定義的常量對象,必須寫在類的行首

image-20210611130036924

注意事項

使用enum關鍵字后就不能繼承其他類了,因為enum會隱式繼承Enum類,而java是單繼承

枚舉類 和普通類一樣,可以實現(xiàn)接口

enum 類名 implements 接口1,接口2{}

**個人理解:**枚舉類就是一個類,里面的枚舉對象就是創(chuàng)建好的對象放在里面

public class test {
  public static void main(String[] args) {
   Color color = Color.RED;
   switch (color){
       case RED:
           color.show();
           break;
       case BLUE:
           color.show();
           break;
       default:
           break;
   }
  }
}

public interface Show {
    public void show();
}
public enum Color implements Show{
    RED(255,0,0),BLUE(0,0,255),BLACK(0,0,0),YELLOW(255,255,0),GREEN(0,255,0);

    private int redValue;
    private int greenValue;
    private int blueValue;

     Color(int redValue,int greenValue,int blueValue){
         this.redValue = redValue;
         this.greenValue = greenValue;
         this.blueValue = blueValue;
    }

    @Override
    public void show(){
  System.out.println("red:"+this.redValue+",green:"+this.greenValue+",blue:"+this.blueValue);
    }
}

Enum成員方法

  • toString:返回當前對象名,子類可以重寫
  • name:返回當前對象名(常量名),子類中不能重寫
  • ordinal:返回當前對象的位置號,默認從0開始
  • values:返回一個數(shù)組,包含當前枚舉類的所有常量
  • valueOf:將字符串轉(zhuǎn)換成枚舉對象,要求字符串為已有的常量名,否則報異常
  • comparaTo:比較兩個枚舉常量,比較的就是位置號

例:創(chuàng)建一個枚舉類并打印其中的常量對象

public class EnumExercise {
  public static void main(String[] args) {
    System.out.println("=====遍歷枚舉=======");
    Week[] weeks = Week.values();
    for (Week week :weeks){
      System.out.println(week);
    }
  }
}

enum Week{

    Monday("星期一"),Tuesday("星期二"),Wednesday("星期三"),Thursday("星期四");
    private String name;

    private Week(String name) {
        this.name = name;
    }
    @Override
    public String toString(){
        return name;
    }
}

注解

  • 用于修飾解釋、包、類、方法、屬性、構(gòu)造器、局部變量等數(shù)據(jù)信息
  • 注解不影響程序邏輯,但注解可以編譯或運行,相當于嵌套在代碼中的補充信息
  • 在java SE 中,注解使用目的比較簡單,例如標記過時的功能、忽略警告等;在java EE 中,用來配置應用程序的任何切面,代替java EE 舊版本中所遺留的繁冗代碼和xml配置等

@override

用于限定某個方法,是重寫父類方法,該注解只能用于方法

如果寫了@override,編譯器會檢查該方法是否真的重寫了父類的方法;相當于提醒編譯器校驗

如果沒寫,如果父類有對應方法,一樣的構(gòu)成重寫

image-20210611231906304

@Deprecated

  • 用于表示某個程序元素(類、方法)已過時
  • 可以修飾類、方法、包、字段、參數(shù)
  • 用作版本升級過度時使用

@SuppressWarnings

  • 抑制編譯器警告
  • 不希望看到警告時,可以用這個注解來抑制編 譯器

image-20210611232547481

  • 作用范圍:和放置的位置有關

元注解(了解)

  • @Retention:用于修飾一個注解,指定該注解可以保留多長時間

image-20210611234142958

  • @Target:用于修飾一個注解,指定被修飾的注解能修飾哪些元素;target包含一個value的成員變量
  • @Documented:用于指定被修飾的注解類將被javadoc工具提取成文檔
  • @Inherited:子類會繼承被這個注解修飾的注解

總結(jié)

到此這篇關于Java的枚舉與注解的文章就介紹到這了,更多相關枚舉與注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java OOM原因以及解決方案

    Java OOM原因以及解決方案

    這篇文章主要介紹了Java OOM原因以及解決方案,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • Java class文件格式之數(shù)據(jù)類型_動力節(jié)點Java學院整理

    Java class文件格式之數(shù)據(jù)類型_動力節(jié)點Java學院整理

    這篇文章主要介紹了Java class文件格式之數(shù)據(jù)類型的相關資料,需要的朋友可以參考下
    2017-06-06
  • springboot集成nacos實現(xiàn)自動刷新的示例代碼

    springboot集成nacos實現(xiàn)自動刷新的示例代碼

    研究nacos時發(fā)現(xiàn),springboot版本可使用@NacosValue實現(xiàn)配置的自動刷新,本文主要介紹了springboot集成nacos實現(xiàn)自動刷新的示例代碼,感興趣的可以了解一下
    2023-11-11
  • Javaweb監(jiān)聽器實例之統(tǒng)計在線人數(shù)

    Javaweb監(jiān)聽器實例之統(tǒng)計在線人數(shù)

    這篇文章主要為大家詳細介紹了Javaweb監(jiān)聽器實例之統(tǒng)計在線人數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • JAVA常用API總結(jié)與說明

    JAVA常用API總結(jié)與說明

    這篇文章主要介紹了JAVA常用API總結(jié)與說明,包括JAVA線程常用API,JAVA隊列常用API,JAVA泛型集合算法常用API,JAVA并發(fā)常用API需要的朋友可以參考下
    2022-12-12
  • Spring?Boot?應用的熱部署配置方法

    Spring?Boot?應用的熱部署配置方法

    熱部署,簡單來說,就是代碼修改后不需重啟項目就可自動加載出新的內(nèi)容,這篇文章主要介紹了Spring?Boot?應用的熱部署配置?,需要的朋友可以參考下
    2022-11-11
  • mybatis關系映射之一對多和多對一

    mybatis關系映射之一對多和多對一

    今天小編就為大家分享一篇關于mybatis關系映射之一對多和多對一,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java控制臺輸出百分比進度條示例

    java控制臺輸出百分比進度條示例

    這篇文章主要介紹了java控制臺輸出百分比進度條示例,需要的朋友可以參考下
    2014-04-04
  • 在Spring中基于Java類進行配置的完整步驟

    在Spring中基于Java類進行配置的完整步驟

    基于Java配置選項,可以編寫大多數(shù)的Spring不用配置XML,下面這篇文章主要給大家介紹了關于在Spring中基于Java類進行配置的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2018-05-05
  • Java?多個文件生成zip包、下載zip包的實現(xiàn)代碼

    Java?多個文件生成zip包、下載zip包的實現(xiàn)代碼

    這篇文章主要介紹了Java?多個文件生成zip包、下載zip包,包括文件上傳,文件下載,多個文件打成zip包的操作代碼,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-01-01

最新評論

磐安县| 彰化县| 肥乡县| 白沙| 北辰区| 晋城| 阿克陶县| 平和县| 百色市| 慈利县| 独山县| 小金县| 兰考县| 吴江市| 西城区| 太谷县| 米脂县| 庄浪县| 达州市| 鄱阳县| 耿马| 马公市| 日照市| 娱乐| 汉源县| 阿尔山市| 边坝县| 卢氏县| 金秀| 奉新县| 平泉县| 泸溪县| 观塘区| 漠河县| 广宁县| 河北省| 五河县| 新河县| 杭州市| 罗山县| 苍溪县|