通過普通類實現列舉

2021-09-23 01:47:14 字數 585 閱讀 7562

平時開發過程中,我們在接受某個引數的時候,該引數是乙個物件,並且只能是固定的某幾個物件,假如我們定義了乙個類color,我們程式中只有兩種color,white和black,這種情況下我們可能首先想到的是通過關鍵字enum定義乙個列舉類,今天我們不通過enum關鍵字來實現這種效果。

首先,color這個類,只能有2個例項化物件,white和black,也就是說外界不能再建立color物件,否則就會超過2個,所以我們需要將color類的建構函式私有化。那如何保證只有white和black這兩個例項化物件呢,我們在color類裡面例項化這兩個物件即可,具體**如下

public class color 

public static color white = new color();

public static color black = new color();

@override

public string tostring() else {

return "black";

這樣,在接受引數color的地方,我們就只能通過color.white和color.black傳遞這兩個靜態的例項化物件了

Python 列舉,列舉類與普通類的區別

文章內容 1.列舉類與普通類的區別,普通類的缺陷 2.列舉型別,列舉類名稱,列舉值 3.列舉之間的比較 4.列舉轉換 5.enum和intenum的區別 6.如何避免列舉別名的出現 列舉類 列舉類不能夠例項化,例項化沒有意義 from enum import enum class color enu...

用普通類模擬列舉 列舉的原理

package com.yisces.y enum 用普通類模擬列舉 列舉的原理 author yisces public class enumprinciple private enumprinciple int num private number num 建立乙個靜態變數,型別為當前類,每乙個...

實現介面的列舉類

由列舉類實現介面裡的方法,每個列舉值呼叫該方法由相同的行為方式。若要每個列舉值在呼叫該方法時由不同的行為方式,可讓每個列舉值分別實現該方法。public enum gender implements genderdesc female 女 上例中male,female建立列舉值是,不是直接建立gen...