2021骞?0鏈?1鏃ワ紝鏈€杩戞湁鐐瑰繖銆傘€傘€傜害瀹氬ソ濂藉涔狆煒ユ瘡澶?0鐐瑰涔犱袱涓皬鏃讹細鍜曞挄馃晩銆傘€傘€傛垜鐨勫涔犱富瑕佹潵鑷簬涓汉鍦ㄤ笂纭呰胺婧愮爜鍦板潃鍙傝€冩枃绔燡ava鏋氫妇enum浠€涔堟槸鏋氫妇绫伙細Java鏋氫妇鏄竴涓壒娈婄殑绫伙紝涓€鑸〃绀轰竴缁勫父閲忓锛氫竴骞寸殑4涓鑺傦紝涓€骞寸殑12涓湀锛屼竴鍛?澶╋紝鏈変笢鍗椼€佽タ鍖楃瓑鏂瑰悜鈥︹€︿笌姝ょ被浼笺€傚綋涓€涓彉閲忔湁鍑犱釜鍥哄畾鐨勫彲鑳藉彇鍊兼椂锛屽彲浠ュ畾涔変负鏋氫妇绫诲瀷锛氬湪Java1.5涔嬪墠锛屾病鏈夋灇涓惧拰娉ㄨВ銆傞偅鏃跺€欎竴鑸兘鏄敤鎺ュ彛甯搁噺浠f浛锛孞ava鏋氫妇绫诲瀷enum鍙互鏇磋创鍒囧湴琛ㄧず杩欐牱鐨勫父閲忋€備篃鍙互鍜孲witch涓€璧蜂娇鐢?..鏋氫妇绫荤殑瀹炵幇锛欽DK1.5涔嬪墠锛岄渶瑕佽嚜瀹氫箟鏋氫妇绫汇€侸DK1.5鏂板enum鍏抽敭瀛楋紝鐢ㄤ簬瀹氫箟鏋氫妇绫汇€傚鏋滄灇涓惧彧鏈変竴涓璞★紝鍙互浣滀负鍗曚緥妯″紡瀹炵幇銆?.5涔嬪墠锛屾灇涓剧被鐨勮嚜瀹氫箟瀹炵幇锛氫繚璇佺鏈夌被鐨勬瀯閫犲嚱鏁颁笉鍦ㄧ被澶朇reateitsobject锛屽湪绫诲唴鍒涘缓鏋氫妇绫荤殑瀹炰緥锛屽0鏄庝负锛歱ublicstaticfinal浠ョ‘淇濋偅涓璞′笉浼氭敼鍙榽濡傛灉瀵硅薄鏈夊疄渚嬪彉閲忥紝搴旇澹版槑涓猴細privatefinal閫氳繃鏋勯€犲嚱鏁板垵濮嬪寲SeasonTest1.JavaSeason.Javapackagecom.wsm;/***鑷畾涔夋灇涓剧被鏉ュ涔燬easonseason:涓€骞存湁鍥涗釜瀛h妭鏄浐瀹氱殑锛屽彧鏄敤鏉ュ仛鏋氫妇class*/publicclassSeasonTest1{publicstaticvoidmain(String[]args){//SpringSeasonchu=Season.SPRING;System.out.println(chu.toString());/***ok锛岃繖灏辨槸鑷畾涔夌殑鏋氫妇绫伙紝绫荤殑瀵硅薄鏄浐瀹氭暟閲忕殑锛佸苟涓斾笉鑳芥洿鏀癸紝灏卞儚涓€涓浐瀹氱殑瑙勫垯...*瑙勫垯鐘舵€佸畾涔変腑甯哥敤锛氬晢鍝侊細缂鸿揣锛屼唬鍙戣揣锛岀瓑寰呬粯娆?..绛夊浐瀹氱姸鎬侊紱**/}}classSeason{//1.绉佹湁鍖栫被鐨勬瀯閫犲嚱鏁帮紝缁欏璞″睘鎬ц祴鍊硷細濡傛灉鏈夊璞″睘鎬э紝椤轰究缁欏睘鎬ц祴鍊紐privateSeason(StringseasonName,StringseasonDesc){this.seasonName=seasonName;this.seasonDesc=seasonDesc;}//2銆傚0鏄嶴eason瀵硅薄鐨勫睘鎬э細privatefinal淇グ锛屽洜涓烘灇涓惧璞℃槸鍥哄畾鐨勶紝涓嶈兘鏀瑰彉銆傜浜烘渶缁堝瓧绗︿覆瀛h妭鍚嶇О锛沺rivatefinal瀛楃涓瞫easonDesc;//3銆傚垱寤哄綋鍓嶇被鍥哄畾鏁伴噺鐨勫璞★紙鍥涘锛夛細publicstaticfinal//鍥犱负鏄鏈夋瀯閫犲嚱鏁帮紝鎵€浠ュ湪绫讳腑鍒涘缓...濡傛灉鏋氫妇绫诲彧鏈変竴涓璞$殑璇濓紝灏辨槸鍗曚緥鍥炬锛乣楗ラタ鐨勪腑鍥戒汉`publicstaticfinalSeasonSPRING=newSeason("Spring","SpringBlossoms");publicstaticfinalSeasonSUMMER=newSeason("Summer","Summer");publicstaticfinalSeasonAUTUMN=newSeason("Autumn","Autumniscrisp");publicstaticfinalSeasonWINTER=newSeason("Winter","Iceandsnow");//ok锛屽埌杩欓噷锛岃嚜瀹氫箟鏋氫妇绫诲氨鍒涘缓濂戒簡//濡傛灉鏈夊叾浠栭渶姹傦紝鍙互鎵╁睍...鍒涘缓鏂规硶锛?**鑾峰彇鏋氫妇绫诲璞$殑灞炴€?//**鍞竴涓嶅彉鐨勬槸寰楀埌锛堬級;鏂规硶*/publicStringgetSeasonName(){returnseasonName;}publicStringgetSeasonDesc(){杩斿洖seasonDesc;}/**toString()鏂规硶*/@OverridepublicStringtoString(){return"Season{"+"seasonName='"+seasonName+'\''+",seasonDesc='"+seasonDesc+'\''+'}';}}鍦↗DK5涔嬪墠锛屾灇涓剧被闇€瑕侀€氳繃鏀瑰彉鏂规硶鏉ヨ嚜瀹氫箟~JavaFinal淇グ鐨勫彉閲忕殑鍑犵璧嬪€兼柟寮廎inal鐨勬剰鎬濇槸鈥渇inal鐨勶紝final鐨勨€濄€傚彉閲忎竴鏃﹁祴鍊硷紝灏变笉鑳藉啀璧嬪€笺€侳inal淇グ鐨勫疄渚嬪彉閲忓繀椤绘樉寮忔寚瀹氬垵濮嬪€笺€侳inal淇グ绗﹂€氬父涓庨潤鎬佷慨楗扮鐩稿悓銆備竴璧蜂娇鐢ㄥ垱寤虹被甯搁噺闈為潤鎬乫inal璧嬪€煎垎涓轰笁绉嶏細瀹氫箟鍒濆鍖栵紝闈為潤鎬佷唬鐮佸潡锛屾瀯閫犳柟娉?*瀹氫箟鍒濆鍖栨椂璧嬪€煎0鏄庡璞℃椂鐩存帴璧嬪€硷紝璧嬪€煎悗涓嶄細鏀瑰彉锛岃繖涓槸鏈€瀹规槗鎯冲埌鐨?/publicclassFinalTest{privatefinalIntegernum=10;}/*浠g爜鍧椾腑鐨勮祴鍊艰繖绉嶈祴鍊间笉鏄湪瀹氫箟寮€濮嬫椂杩涜鐨勶紝鑰屾槸鍦ㄤ唬鐮佸潡涓祴鍊肩殑锛屽嵆涔熷彲浠ャ€傜Н鏈ㄤ細鍦ㄥ垱寤哄璞℃椂璋冪敤锛屾瘡娆″垱寤洪兘浼氳皟鐢紝鍦ㄧ被鏋勯€犲嚱鏁颁箣鍓嶆墽琛屻€?/publicclassFinalTest{privatefinalIntegernum;{鏁?10;}}/*鏋勯€犲嚱鏁颁腑鐨勮祴鍊兼槸鍦ㄥ垱寤哄璞$殑鏃跺€欒祴鍊肩殑锛屽璞′竴鏃﹀垱寤哄氨涓嶅彲鏀瑰彉锛屾墍浠et()鏂规硶涓嶈兘鍦ㄥ璞″垱寤哄悗璧嬪€?/publicclassFinalTest{privatefinalInteger鏁帮紱publicFinalTest(Integernum){this.num=num;}}Final鐨勯潤鎬佷娇鐢細staticfinalstaticfinal璧嬪€兼湁涓ょ锛氬畾涔夊垵濮嬪寲锛岄潤鎬佷唬鐮佸潡/*瀹氫箟鍒濆鍖?/publicclassFinalTest{privatestaticfinalIntegernum=10;}/*闈欐€佷唬鐮佸潡wrappedwithstatic{}浠g爜鐗囨鍙細鎵ц涓€娆°€傞潤鎬佷唬鐮佸潡鍦ㄦ瀯閫犲潡涔嬪墠鎵ц銆?/publicclassFinal娴嬭瘯{privatestaticfinalIntegernum;闈欐€亄num=10;}}enum鍏抽敭瀛楀疄鐜版灇涓剧被锛歟num瀹氫箟鐨勬灇涓剧被榛樿缁ф壙Java.lang.Enum绫伙細鎵€浠ヤ笉鑳藉啀鎵╁睍鍒板叾浠栫被浣嗘槸鍙互瀹炵幇鏋氫妇绫荤殑鏋勯€犲嚱鏁板彧鑳戒娇鐢╬rivate鏉冮檺淇グ绗︺€傛灇涓剧被瀵硅薄蹇呴』鍦ㄦ灇涓剧被鐨勭涓€琛屽0鏄庛€傚湪JDK1.5涓紝Enum瀹氫箟鐨勬灇涓剧被鐨勫璞″彲浠ヤ綔涓簊witch琛ㄨ揪寮忎腑鐨勮〃杈惧紡casechild銆傝鍙ュ彲浠ョ洿鎺ヤ娇鐢ㄦ灇涓惧€肩殑鍚嶇О锛堜笉闇€瑕佸姞涓婃灇涓剧被浣滀负闄愬埗锛塖easonTest2.JavaSeason.Javapackagecom.wsm.two;importjavax.sound.midi.Soundbank;/****JDK1.5newenum*/publicclassSeasonTest2{publicstaticvoidmain(String[]args){/**Autumn*/SeasonAUTUMN=Season.AUTUMN;System.out.println(AUTUMN);//灏濊瘯娉ㄩ噴鎺塼oString()鏂规硶output:AUTUMN(objectname)//enumextendsJava.lang.enumclass/**enum鐨勫父鐢ㄦ柟娉?///values()鏂规硶锛?/杩斿洖鏋氫妇鐨勫璞℃暟缁則ype杩欎釜鏂规硶鍙互寰堟柟渚跨殑閬嶅巻鎵€鏈夌殑鏋氫妇Value//valueOf(Stringstr)//鍙互鎶婁竴涓瓧绗︿覆杞崲鎴愬搴旂殑鏋氫妇绫诲璞°€傝姹傚瓧绗︿覆蹇呴』鏄灇涓剧被瀵硅薄鐨勨€滃悕绉扳€濄€傚鏋滀笉鏄紝鍒欎細鍑虹幇杩愯鏃跺紓甯革細IllegalArgumentException銆?/toString()杩斿洖褰撳墠鏋氫妇绫诲璞$殑鍚嶇О甯搁噺/**values()*/System.out.println("enumcommonmethodvalues()");Season[]values=Season.values();//杩斿洖鏋氫妇鐨勬墍鏈夊璞?/閬嶅巻缁撴灉闆唂or(Seasonvalue:values){System.out.println(value);}/**valueOf(Stringstr)*/System.out.println("enumcommonmethodvalueOf(Stringstr)");鍐瀛h妭=Season.valueOf("WINTER");//鏍规嵁鍥哄畾鐨勫璞″悕锛岃繑鍥炲搴旂殑enumSystem.out.println(winter);/**switchusage*纭畾鍝釜瀵硅薄灞炰簬A...**/System.out.println("enumswitchusage");寮€鍏筹紙鍐ぉ锛墈caseSPRING:System.out.println("spring");浼戞伅;caseSUMMER:System.out.println("Summer");浼戞伅;绉嬪妗堜緥锛歋ystem.out.println("Autumn");浼戞伅;鍐妗堜緥锛歋ystem.out.println("鍐");浼戞伅;榛樿鍊硷細System.out.println("涓嶅尮閰嶏紒");}}}/**鍙互鍜岃嚜瀹氫箟鏋氫妇绫绘瘮~*/enumSeason{//1.蹇呴』鍦ㄦ灇涓剧被鐨勭涓€琛屽0鏄巈numerationclassobject//鏋氫妇绫荤殑鎵€鏈夊疄渚嬪繀椤诲湪鏋氫妇绫讳腑鏄惧紡鍒楀嚭(,delimited;end)//鍥犱负鏋氫妇锛宯ative涓嶈兘琚被璁块棶淇敼锛屽彲浠ュ彇娑堬細publicstaticfinalclass//publicstaticfinalSeasonSPRING=newSeason("Spring","SpringBlossoms");SPRING("鏄ュぉ","鏄ユ殩鑺卞紑"),SUMMER("澶忓ぉ","澶忔棩鐐庣値"),AUTUMN("绉嬪ぉ","绉嬭壊娓呰剢"),WINTER("鍐ぉ","鍐板ぉ闆湴");//2銆傚0鏄嶴eason瀵硅薄鐨勫睘鎬э細privatefinalmodificationprivatefinalStringseasonName;privatefinal瀛楃涓瞫easonDesc;//3銆傛瀯閫犵鏈夌被鎺у埗鍣紝骞朵负瀵硅薄灞炴€ц祴鍊紁rivateSeason(StringseasonName,StringseasonDesc){this.seasonName=seasonName;this.seasonDesc=seasonDesc;}//鎵╁睍鏂规硶/**get*/publicStringgetSeasonName(){returnseasonName;}publicStringgetSeasonDesc(){杩斿洖seasonDesc;/**toString*鍙戠幇娉ㄨВ鏂规硶鐩存帴杈撳嚭锛屽嵆浣夸笉閲嶆柊toString();瀹冧笉鎵撳嵃object:address鍊硷紙鏍堟寚鍚戝爢鐨勫湴鍧€锛侊級*鍥犱负锛氭灇涓剧被锛屽畠缁ф壙鑷狫ava.lang.enum锛岃€屼笉鏄疧bject绫?*///@Override//publicStringtoString(){//return"Season{"+//"seasonName='"+seasonName+'\''+//",seasonDesc='"+seasonDesc+'\''+//'}';//}}鏋氫妇鍏叡鏂规硶鏂规硶鍚嶆弿杩皏alues()浠ユ暟缁勭殑褰㈠紡杩斿洖鏋氫妇绫诲瀷鐨勬墍鏈夋垚鍛榲alueOf(String)灏嗘櫘閫氬瓧绗︿覆杞崲涓烘灇涓惧疄渚媍ompareTo()姣旇緝涓や釜鏋氫妇鎴愬憳Ordinal()鎸夌収瀹氫箟enum鐨勯『搴忚幏鍙栨灇涓炬垚鍛樼殑绱㈠紩浣嶇疆楂樼骇锛歩mplements瀹炵幇绫绘灇涓剧被缁ф壙java.lang....瀹炵幇鎵╁睍鐨勬柟寮忔槸瀹炵幇锛氭甯稿疄鐜帮紝閲嶅啓鏂规硶....浣嗘槸鎵€鏈夌殑瀵硅薄鍜屾柟娉曞疄鐜伴兘鏄竴鏍风殑锛丼easonTest3SeasonInfopublicclassSeasonTest3{publicstaticvoidmain(String[]args){Seasonautumn=Season.AUTUMN;绉嬪绉€锛堬級锛泒}//浣跨敤enum鍏抽敭瀛楁灇涓綾lassimplements瀹炵幇鎺ュ彛骞堕噸鍐檚how()鏂规硶~enumSeasonimplementsInfo{SPRING("鏄ュぉ","鏄ユ殩鑺卞紑"),SUMMER("澶忓ぉ","澶忓ぉ寰堢儹"),AUTUMN("绉嬪ぉ","绉嬪ぉ寰堟竻鐖?),WINTER("鍐ぉ","鍐板ぉ闆湴");//2銆傚0鏄嶴eason瀵硅薄鐨勫睘鎬э細privatefinalmodificationprivatefinalStringseasonName;privatefinal瀛楃涓瞫easonDesc;//3銆傜鏈夊寲绫荤殑鏋勯€犲嚱鏁帮紝骞朵负瀵硅薄灞炴€ц祴鍊紁rivateSeason(StringseasonName,StringseasonDesc){this.seasonName=seasonName;this.seasonDesc=seasonDesc;}//閲嶅啓鎺ュ彛鏂规硶锛丂Overridepublicvoidshow(){System.out.println("杩欐槸涓€涓鑺倊");}}/**Interface*/interfaceInfo{voidshow();}缁欐瘡涓灇涓惧璞′竴涓敮涓€鐨勫浐瀹氬疄鐜帮紒publicclassSeasonTest4{publicstaticvoidmain(String[]args){Seasonautumn=Season.AUTUMN;绉嬪绉€锛堬級锛泒}//浣跨敤enum鍏抽敭瀛楁灇涓綾lassimplements瀹炵幇鎺ュ彛锛岄噸鍐檚how()鏂规硶~enumSeasonimplementsInfo{SPRING("Spring","鏄ユ殩鑺卞紑"){@Overridepublicvoidshow(){System.out.println("鏄ュぉ鍦ㄥ摢閲岋紵");}},SUMMER("澶忓ぉ","澶忓ぉ寰堢儹"){@Overridepublicvoidshow(){System.out.println("瀹佸");}},AUTUMN("绉嬪ぉ","绉嬪ぉ鍑夌埥"){@Overridepublicvoidshow(){System.out.println("绉嬪ぉ涓嶅洖鏉?);}},WINTER("鍐ぉ","鍐板ぉ闆湴"){@Overridepublicvoidshow(){System.out.println("鍏充簬鍐ぉ");}};//2.澹版槑Season瀵硅薄鐨勫睘鎬э細privatefinalmodificationprivate鏈€缁堝瓧绗︿覆瀛h妭鍚嶇О锛沺rivatefinal瀛楃涓瞫easonDesc;//3銆傜鏈夊寲绫荤殑鏋勯€犲嚱鏁帮紝骞朵负瀵硅薄灞炴€ц祴鍊紁rivateSeason(StringseasonName,StringseasonDesc){this.seasonName=seasonName;this.seasonDesc=seasonDesc;}}/**Interface*/interfaceInfo{voidshow();}鏋氫妇闆嗗悎涓嶫ava璇█涓殑鏋氫妇绫荤浉鍏筹紝鏈変袱涓灇涓鹃泦鍚堢被java.util.EnumSet鍜宩ava.util.EnumMap鍙互浣跨敤EnumSet淇濊瘉鍏冪礌涓嶉噸澶嶏紝骞朵笖鍙互鑾峰彇鍒版寚瀹氳寖鍥村唴鐨勫厓绱爈ist.add(ErrorCodeEnum.SUCCESS);list.add(ErrorCodeEnum.SUCCESS);//閲嶅鍏冪礌list.add(ErrorCodeEnum.SYS_ERROR);list.add(ErrorCodeEnum.NAMESPACE_NOT_FOUND);//鍒犻櫎閲嶅鏁版嵁EnumSet
