帶有無參構造方法 有參構造方法的列舉

2021-06-19 20:03:17 字數 1019 閱讀 6538

列舉就相當於乙個類,其中也可以定義構造方法,成員變數,普通方法和抽象方法。

列舉元素必須位於列舉體中的最開始的位置,列舉元素類表的後要有分號與其他成員分隔。把列舉中的成員方法或變數等放在列舉元素的前面,編譯器報告錯誤。

帶有構造方法的列舉:

構造方法必須定義成私有的。

如果有多個構造方法,該如何選擇哪個構造方法?

列舉元素mon和mon()效果一樣,都是呼叫預設的構造方法。

帶方法的列舉

定義列舉trafficlamp

實現普通的next方法

實現抽象的next方法:每個元素分別是由列舉類的子類來生成的例項物件,這些子類採用類似內部類的方式進行定義。

增加上表示時間的構造方法。

列舉只有乙個成員時,就可以作為一種單例的實現方式。

package day02;

import day02.enumtest.weekday.trafficlamp;

public class enumtest

//定義乙個列舉

public enum weekday

//有引數的構造方法

private weekday(string str,int day)

//交通燈的列舉

public enum trafficlamp

},green("綠燈",30)

},yellow("黃燈",5)

};//無引數的構造方法

private trafficlamp()

//獲取下乙個交通燈的方法,把它抽象,由trafficlamp的子類去實現

public abstract trafficlamp nextlamp();

//增加乙個時間的構造方法,用來在例項化物件的時候初始化。

private string name;

private int time;

private trafficlamp(string name,int time)

} }}

構造方法 空參構造 有參構造

1.給物件的資料或屬性進行初始化 2.特點 一 方法名與類名相同 二 沒有返回值型別,連void都沒有 三 沒有返回值 四 構造方法不能用物件呼叫,在建立物件時,系統會自動呼叫 public class play class person public person string name,int ...

有無參建構函式

都在物件被構造的時候被呼叫,只是在構造物件時根據new物件的引數型別和個數進行選擇對應的構造方法進行呼叫,當沒有引數時呼叫無參構造方法,有引數時呼叫對應的有參構造方法。建構函式的引數一般用來初始化類的資料成員。建構函式的特點及作用 建構函式的命名必須和類名完全相同。建構函式的功能主要用於在類的物件建...

有無參構造器

1 靜態 塊 例項 塊 構造方法 執行速度 2 構造器 2.1 無參構造器 預設構造器,自己不寫時系統會預設有 2.2 有參構造器 傳入引數,通過this來賦值,如果自己寫了構造器,默 認構造器會消失,如果想呼叫構造得自己寫乙個無引數構造器 public student string name,in...