日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第三章之枚举、注解

發(fā)布時間:2023/11/29 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第三章之枚举、注解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2019-01-22 內(nèi)容:枚舉、注解 一、自定義一個枚舉類
1 public class TestSeason { 2 3 public static void main(String[] args) { 4 Season spring = Season.Spring; 5 System.out.println(spring); 6 } 7 } 8 public class Season { 9 //將屬性定義為私有常量 10 private final String seasonName; 11 private final String seasonDes; 12 13 //將構(gòu)造器設(shè)置為私有的 14 private Season (String seasonName, String seasonDes) { 15 this.seasonName = seasonName; 16 this.seasonDes = seasonDes; 17 } 18 //利用構(gòu)造器構(gòu)造春夏秋冬四個對象 19 public static final Season Spring = new Season("春天","萬物復(fù)蘇"); 20 public static final Season Summer = new Season("夏天","驕陽似火"); 21 public static final Season Fall = new Season("秋天","秋高氣爽"); 22 public static final Season Winter = new Season("冬天","白雪皚皚"); 23 //因為屬性是常量,所以不能賦值 24 public String getSeasonName() { 25 return seasonName; 26 } 27 public String getSeasonDes() { 28 return seasonDes; 29 } 30 //重寫toString方法 31 @Override 32 public String toString() { 33 return "Season [seasonName=" + seasonName + ", seasonDes=" + seasonDes + "]"; 34 } 35 36 }

?

二、通過關(guān)鍵字enum定義一個枚舉類并使用方法
1 public class TestSeason { 2 3 public static void main(String[] args) { 4 Season1 spring = Season1.Spring; 5 System.out.println(spring); 6 //使用values()方法將所有對象存入一個數(shù)組中 7 Season1[] season = Season1.values(); 8 for (int i = 0; i < season.length; i++) { 9 System.out.println(season[i]); 10 } 11 //使用valueOf(String name)方法將指定對象名的對象取出來 12 String name = "Winter"; 13 Season1 winter = Season1.valueOf(name); 14 System.out.println(winter); 15 } 16 } 17 public enum Season1 { 18 Spring("春天","萬物復(fù)蘇"), 19 Summer("夏天","驕陽似火"), 20 Fall("秋天","秋高氣爽"), 21 Winter("冬天","白雪皚皚"); 22 23 private final String seasonName; 24 private final String seasonDes; 25 26 private Season1 (String seasonName, String seasonDes) { 27 this.seasonName = seasonName; 28 this.seasonDes = seasonDes; 29 } 30 31 public String getSeasonName() { 32 return seasonName; 33 } 34 public String getSeasonDes() { 35 return seasonDes; 36 } 37 38 @Override 39 public String toString() { 40 return "Season1 [seasonName=" + seasonName + ", seasonDes=" + seasonDes + "]"; 41 } 42 43 }

?

三、讓枚舉類實現(xiàn)一個接口,并且讓枚舉類的每個對象都重寫接口中的抽象方法
1 public class TestSeason { 2 3 public static void main(String[] args) { 4 Season1 spring = Season1.Spring; 5 System.out.println(spring); 6 //使用values()方法將所有對象存入一個數(shù)組中 7 Season1[] season = Season1.values(); 8 for (int i = 0; i < season.length; i++) { 9 System.out.println(season[i]); 10 } 11 //使用valueOf(String name)方法將指定對象名的對象取出來 12 String name = "Winter"; 13 Season1 winter = Season1.valueOf(name); 14 System.out.println(winter); 15 //調(diào)用接口中的方法 16 spring.Show(); 17 } 18 } 19 public interface Show { 20 void Show(); 21 } 22 public enum Season1 implements Show { 23 Spring("春天","萬物復(fù)蘇"){ 24 @Override 25 public void Show() { 26 System.out.println("春天:"+Spring.toString()); 27 } 28 }, 29 Summer("夏天","驕陽似火"){ 30 @Override 31 public void Show() { 32 System.out.println("夏天:"+Spring.toString()); 33 } 34 }, 35 Fall("秋天","秋高氣爽"){ 36 @Override 37 public void Show() { 38 System.out.println("秋天:"+Spring.toString()); 39 } 40 }, 41 Winter("冬天","白雪皚皚"){ 42 @Override 43 public void Show() { 44 System.out.println("冬天:"+Spring.toString()); 45 } 46 }; 47 48 private final String seasonName; 49 private final String seasonDes; 50 51 private Season1 (String seasonName, String seasonDes) { 52 this.seasonName = seasonName; 53 this.seasonDes = seasonDes; 54 } 55 56 public String getSeasonName() { 57 return seasonName; 58 } 59 public String getSeasonDes() { 60 return seasonDes; 61 } 62 63 @Override 64 public String toString() { 65 return "Season1 [seasonName=" + seasonName + ", seasonDes=" + seasonDes + "]"; 66 } 67 }

?

四、JDK常用注釋
  @Override:顯示表明方法重寫
  @Deprecated:表明方法或者類過時,但依舊可以使用
  @SuppressWarnings:抑制編譯器警告,即不讓編譯器發(fā)出警告
五、自定義注解
  使用@interface
六、元注解
  釋義:修飾注解的注解
  @Retention:*用來指定某個Annotation存在的時間長短
????       *使用格式:@Retention(RetentionPolicy.成員變量)
??????            @Retention(RetentionPolicy.SOURCE)表明該注釋在編譯時不會保留
??????            @Retention(RetentionPolicy.CLASS)表明在編譯時被記錄在.class文件中,運行不會保留,這是默認(rèn)值
?????           ? @Retention(RetentionPolicy.RUNTIME)表明在編譯時被記錄在.class文件中,運行時也保留,程序可以通過反射獲取該注釋
  @Target:*用來指定某個Annotation能修飾的地方,默認(rèn)是所有地方都能修飾
?      ? *使用格式@Target(地方),地方可以是FIELD,METHOD,CONSTRUCTION,TYPE,LOCAL_VARIABLE,PACKAGE,PARAMETER,ANNOTATION_TYPE中的任意個
  @Documented:*用來指定某個Annotation在生成文檔的時候會被保留
???        *格式:@Documented
  @Inherited:*用來指定某個Annotation具有繼承性

轉(zhuǎn)載于:https://www.cnblogs.com/jbrr/p/10305754.html

總結(jié)

以上是生活随笔為你收集整理的第三章之枚举、注解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。