某些方法所接受的資料必須是在固定範圍之內的,怎麼解決?
方案一:jdk1.5之前,自定義乙個類,私有化建構函式,在自定義類中建立本類的物件對外使用。
方案二:jdk1.5之後,使用列舉類(enum)來解決這種問題。
// 方案一:jdk1.5之前,自定義乙個類,私有化構造方法,在自定義類中建立類的物件,對外使用
class gender
}
enum ***
},//2.列舉值的資料型別就是列舉值所屬類的型別,它指向了本類的物件。
//2.列舉值 man("男") 與 private static final *** man = new ***("男");相等
man("男")
};string value;// 3.列舉類可以有成員變數
private void sun()
//4.列舉類可以有建構函式,但是修飾符必須是private,預設也是private
private ***(string value)
// 5.列舉類可以存在抽象方法,但是列舉值必須實現抽象方法
public abstract void run();
}
一些方法在執行時,他需要的資料不能是任意的,必須是固定範圍之內的值,jdk1.5後可以直接使用列舉(enum)解決
enum類名
1.列舉類是乙個特殊的類
2.列舉值預設的修飾符是:
public static final
3.列舉值就是列舉值所屬的類的資料型別,然後列舉值是指向了本類的物件的。
4.列舉類的構造方法的修飾符,預設是
private
5.列舉類可以定義自己的成員變數和成員函式。
6.列舉類可以自定義建構函式,但是修飾符必須是
private
7.列舉類可以存在抽象的方法,但是列舉值必須實現抽象方法
8.列舉值必須要位於列舉類的第乙個語句。
switch適用的資料型別:byte、short、int、char、string、列舉3.1 案例注意:case
語句後邊跟的列舉值,只需要單寫列舉值即可,不需要再宣告該列舉值是屬於哪個列舉類的。
public class dome4
}}// 季節列舉類
enum season
java學習筆記 列舉類
列舉法本質其實就是乙個類 一 常量的使用 public classenumerationelse for inti 0 i a.length i if a i getindex num system.out println 您需要付款 a i getprice num2 列舉法本質就是類,它的構造方...
switch 列舉 關於列舉類的筆記內容
自定義乙個性別類 某些方法所接收的資料必須在固定範圍之內,這時候我們需要自定義乙個類,然後私有化 建構函式,在自定義類建立本類的物件。class gender class person public void setname string name public gender get public ...
列舉類 強列舉
c 11增加了列舉類和列舉結構體。舊的c 列舉型別有乙個壞處是,他們將列舉成員引入周圍的命名空間,導致了名稱衝突 enum esecondcount int esecond 3 與列舉宣告在同乙個作用域 此外,舊的c enum會隱式轉換為int,當我們不預期或不需要這樣的轉換時會導致難以察覺的錯誤 ...