重寫enum的valueof方法等

2022-03-21 19:17:41 字數 1861 閱讀 8680

intcompareto(e o)

比較此列舉與指定物件的順序。

classgetdeclaringclass()

返回與此列舉常量的列舉型別相對應的 class 物件。

stringname()

返回此列舉常量的名稱,在其列舉宣告中對其進行宣告。

intordinal()

返回列舉常量的序數(它在列舉宣告中的位置,其中初始常量序數為零)。

stringtostring()

返回列舉常量的名稱,它包含在宣告中。

static> tvalueof(classenumtype, string name)

返回帶指定名稱的指定列舉型別的列舉常量。

package test;

public

class

enumtest

private

int redvalue; //

自定義資料域,private為了封裝。

private

intgreenvalue;

private

intbluevalue;

public

static final color values=color.values();

public

static color valueof(int

i)

public string tostring()

}public

enum

colortype

public

static colortype a=colortype.values();

public

static colortype valueof(int

i)

public

string tostring()

}public

static

void

main(string args)

}

執行結果:

red(255,0,0)0

-3blue(

0,0,255

)blue(

0,0,255

)black-------------->black(0,0,0)

自定義方法:

package test;

public

class

enumtest3

},sun(0)

};private

intvalue;

private enumtest(int

value)

public

intgetvalue()

public

boolean isrest()

}public

static

void

main(string args)

}

輸出結果:

enumtest.fri 的 value = true

JS重寫函式valueOf方法實現連續呼叫求和

var obj valueof function alert obj 呼叫了 obj.tostring 呼叫了 obj.valueof 彈出110從上面 可看出輸出obj時,先呼叫其tostring方法,若tostring返回原始值就直接返回,否則繼續呼叫valueof方法。var obj valu...

valueOf 方法的使用

valueof 方法的使用 undefined和null沒有valueof 方法,使用會報錯 布林型別true和false會返回原值 字串型別會返回原值 數字 如果是整數,需要用小括號將數字包起來再使用valueof 方法,直接在數字後面跟.valueof 會報錯 如果是小數會返回原值 物件obje...

20201202 103 方法的重寫

類成員的繼承和重寫 成員繼承 子類繼承了父類除構造方法之外的所有成員。方法重寫 子類可以重新定義父類中的方法,這樣就會覆蓋父類的方法,也稱為 重寫 案例 繼承和重寫的案例 class person def init self,name,age self.name name self.age age ...