2020年9月2日 列舉實現介面
阿新 • • 發佈:2020-09-02
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; } }