1. 程式人生 > 實用技巧 >2020年9月2日 列舉實現介面

2020年9月2日 列舉實現介面

package com.atguigu.test07;

/*
 * 列舉:JDK1.5就引入
 *       類似:列舉,窮舉,一一羅列
 *     Java列舉:把某個型別的物件,全部列出來
 * 
 * 當什麼情況下會用到列舉型別?
 * 當某個型別的物件是固定的,有限的幾個,那麼就可以選擇使用列舉。
 * 在整個系統的執行期間,有且只有這幾個物件。
 * 
 * 例如:
 *     性別  Gender,它的物件只有三個:男,女,妖
 *  星期  Week,它的物件只有7個:Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
 *  季節 Season,它的物件只有4個:Spring,Summer,Fall,Winter
 *  OA系統,辦公系統,員工的狀態Status,有幾種:忙Busy,閒Free,假Vocation,離職Left
 *  支付系統,支付方式Payment,有幾種:Alipay,Wechat,card, cash
 *  。。。。。
 *  
 *  討論:JDK1.5之前,如果想要實現列舉的這種效果
 *  (1)構造器私有化:
 *      目的:在這個類的外面,無法隨意的建立物件
 *  (2)在這個類中,提前建立好幾個物件,供別人使用
 *  
 *  JDK1.5之後,就優化了列舉的語法:
 *  
 
*/ public class TestEnum { public static void main(String[] args) { // Gender g1 = new Gender(); Gender nan1 = Gender.NAN; Gender nan2 = Gender.NAN; System.out.println(nan1 == nan2);//true } } class Gender{ //public:使得外面可以直接訪問 //static:使得可以使用“類名.”訪問
//final:前調這個物件是不可變 public static final Gender NAN = new Gender("男"); public static final Gender NV = new Gender("女"); public static final Gender YAO = new Gender("妖"); private String description; private Gender(String description){ this.description = description; } }