Java高新技術 列舉

2021-06-20 18:26:26 字數 2248 閱讀 3582

說明:當乙個類的物件個數固定,且不需要再建立這個類新的物件時,可以考慮用列舉。

一,列舉原理

列舉型別特有:

1.私有構造方法;

2.每個元素分別用乙個公有的靜態成員變數表示;

3.可以有若干個公有方法或抽象方法,抽象方法可以使每個元素(本類物件)通過覆蓋具有自己獨特的內容;

注:列舉型別的元素就是本類物件,但是限制了使用者自己創新的物件,只能使用該類提供的物件->元素。

列舉是為了讓這個型別的變數的取值只能為若干固定值中的乙個。

列舉**原理舉例一:

class weekday;

//通過公有靜態的本類物件的成員,為外部提供了獲取該類物件的途徑;

//而且本類物件個數是可控,確定。

public static weekday monday=new weekday();

public static weekday tuesday=new weekday();

public static weekday wednesday=new weekday();

public static weekday thursday=new weekday();

public static weekday friday=new weekday();

public static weekday saturday=new weekday();

public static weekday sunday=new weekday();

public weekday nextday()

public string tostring()

}

列舉**原理舉例二:

因為對於weekday類物件,每乙個nextday方法對應的結果都是不同而且固定的,這裡可以採用將nextday變為抽象方法,在建立元素時通過覆蓋nextday方法,將該方法返回值設為需要的指定結果。這樣避免你了上面例子中多個if...else...的語句重複選擇。

abstract class weekday;

//通過公有靜態的本類物件的成員,為外部提供了獲取該類物件的途徑;

//而且本類物件個數是可控,確定。

public static weekday monday=new weekday()

};public static weekday tuesday=new weekday()

};public static weekday wednesday=new weekday()

};public static weekday thursday=new weekday()

};public static weekday friday=new weekday()

};public static weekday saturday=new weekday()

};public static weekday sunday=new weekday()

};public string tostring()

}

二,列舉

下面介紹列舉的應用。

示例1:列舉常見方法

在乙個類內建立乙個列舉,此時列舉類內部類,可以用成員修飾詞來修飾。

public class test 

public enum weekday

/*當喲多個構造方法時,可以在元素後面加();

*並在()內根據構造方法的形參格式傳值;

*就會呼叫相應的構造方法

*如元素後面不加(),則預設呼叫無參建構函式

*/private weekday(int a)

public string tostring()

}}

示例2:包含抽象方法的列舉

enum trafficlamp

}, green(45)

}, yellow(5)

}; //列舉中的抽象方法

public abstract trafficlamp nextlamp();

private int time;

//列舉中的有參函式

private trafficlamp(int time)

}

示例3:列舉只有乙個成員是,就可以作為一種單例的實現方式

enum student;

}



JAVA高新技術 列舉篇

1 為什麼要出現列舉 在現實生活中,有許多實體有且僅有特定的幾個屬性 例如 月份只有1 12月,性別只有男女,季節只有四季 等 若將其型別定義成常量,則不可避免地出現非法引數的問題 例如 13月,第三個性別,第五個季節 等 因此,對於上述型別的物件,必須規定其特定的屬性值為列舉型別,即 僅能從已有的...

JAVA高新技術 泛型篇

1 泛型的意義 往小處說,是為了實現型別安全的集合 往大處說,是為了實現模版程式設計的理念 2 為什麼要出現泛型 雖然集合具有長度可擴充 插入刪除方便等強大的特性 但是集合內部可以儲存的物件是型別不安全的 釋義 什麼是型別不安全 因為集合內部可以裝入 取出的元素是object型別 因此任何物件都能夠...

高新的技術對不對 有關高新技術

有關高新技術 一 高新技術的含義 高新科學技術,也叫高技術 高科技。年 高技術 一詞被收入美國出版的 韋氏第 三版國際詞典補充 個詞 中,由此作為乙個正式名詞固定下來。一般而言,它的含義 是動態變化的,是不斷發展的乙個概念。從地域上看,不同的國家對高技術有不同的理解。被稱為南韓 經濟起飛 科技發展之...