㈠ java中如何判斷一個變數是否屬於某個枚舉類型中的元素
介面 Enumeration的兩個函數 boolean hasMoreElements()測試此枚舉是否包含更多的元素。 nextElement()如果此枚舉對象至少還有一個可提供的元素,則返回此枚舉的下一個元素。 利用這兩個函數,利用while循環就可以讀取裡面的元素,當然讀取出來得元素通過強制轉換,就可以和變數進行比較 。
㈡ java 可以 繼承的枚舉 怎麼寫
importjava.util.ArrayList;
importjava.util.List;
publicclassColor{
privateStringvalue;
privatestaticList<Color>colors=newArrayList<Color>();
publicColor(Stringvalue){
this.value=value;
colors.add(this);
}
publicstaticColorRed=newColor("red");
publicstaticColorBlud=newColor("Blud");
publicstaticColorGreen=newColor("Green");
publicvoidtest(){
System.out.println("我是"+value);
}
publicstaticColor[]values(){
returncolors.toArray(newColor[colors.size()]);
}
publicstaticvoidmain(String[]args){
Color.Red.test();
Color.Green.test();
ColorB.black.test();
for(Colorc:ColorB.values()){
c.test();
}
}
}
/**
*子類
*@author儲寶
*
*/
classColorBextendsColor{
publicColorB(Stringvalue){
super(value);
}
publicstaticColorBblack=newColorB("black");
}
枚舉的偽實現。和枚舉不同的是,還是可以new一個對象,本來是想把構造私有化的,但是就不能繼承了。
㈢ java枚舉類型enum用法
用法如下:
用法一:常量 在JDK1.5之前,我們定義常量都是:public static fianl....。現在好了,有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法
用法六:使用介面組織枚舉
用法七:關於枚舉集合的使用
㈣ 請問java枚舉類型的枚舉值是不是繼承枚舉類的一個對象啊
確切的說java里有枚舉類型enum,只可以用在類靜態或者成員變數中,不可作為局部變數。
實際上這樣聲明的枚舉類型是集繼承於java.lang.Enum類的,但是我們不能直接繼承枚舉類,只能通過這種方法創建枚舉對象。
示例
class Test {
private static enum test {
ffffff, blue, green
}
public static void main(String[] args) {
System.out.println(test.ffffff);
}
}
㈤ java 可以 繼承的枚舉 怎麼寫
importjava.util.ArrayList;
importjava.util.List;
publicclassColor{
privateStringvalue;
privatestaticList<Color>colors=newArrayList<Color>();
publicColor(Stringvalue){
this.value=value;
colors.add(this);
}
publicstaticColorRed=newColor("red");
publicstaticColorBlud=newColor("Blud");
publicstaticColorGreen=newColor("Green");
publicvoidtest(){
System.out.println("我是坦握蠢"+value);
}
publicstaticColor[]values(){
returncolors.toArray(newColor[colors.size()]);
}
publicstaticvoidmain(String[]args){
Color.Red.test();
Color.Green.test();
ColorB.black.test();
皮毀
for(Colorc:ColorB.values()){
c.test();
}
}
讓陪
}
/**
*子類
*@author儲寶
*
*/
classColorBextendsColor{
publicColorB(Stringvalue){
super(value);
}
publicstaticColorBblack=newColorB("black");
}
枚舉的偽實現。和枚舉不同的是,還是可以new一個對象,本來是想把構造私有化的,但是就不能繼承了。
㈥ java里什麼情況用枚舉啊
目的:為了解決類型不安全提出的
使用:當我們在類中要指定選項必須為某些類型時,就要考慮用到枚舉,這是jdk1.5之後才提出的。
類型安全的枚舉類型簡介:
1)enum:可以定義一個類型,而且還可以限制該類型的取值在某個范圍內
2)語法:enum enumName{枚舉值1,...,枚舉值n}
3)適用位置:包中、類中,但不能在方法中
4)注意:
1.所有的enum類型都繼承自java.lang.Enum;
2.自定義的enum類型不能再有子類;
3.枚舉類型的取值默認為public static final;
4.枚舉類型中可以定義屬性和方法;
5.構造器必須是私有的;
6.枚舉類型的取值就是其實例對象,它會調用該枚舉類型的構造器,還要實現枚舉類型中所有的抽象方法;
7.枚舉類型可以實現其它介面;
㈦ 枚舉能繼承類或介面嗎
1 枚舉的定義 :一個特殊的java類,對象的某個屬性的值不能是任意的,必須為固定的一組取值其中的某一個
介面的定義:定義對象的擴展功能,是在繼承之外還需這個對象具備的一些功能
2 上面的定義中說明了枚舉是一個特俗的java類,既然是一個java類,那麼就可以繼承介面。
3 下面的用java代碼來展示枚舉繼承介面的方式 :
//定義一個枚舉:
public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }
public interfacel SuitImp{}//介面
//枚舉實現介面的代碼
public enum Suit implements SuitImp()
㈧ Java 中 Enum 如何繼承
Java Enum是不能繼承的,以下是解釋:
枚舉類使用enum定義後在編譯後默認繼承了java.lang.Enum類,而不是普通的繼承Object類。enum聲明類繼承了Serializable和Comparable兩個介面。且採用enum聲明後,該類會被編譯器加上final聲明(同String),故該類是無法繼承的。枚舉類的內部定義的枚舉值就是該類的實例(且必須在第一行定義,當類初始化時,這些枚舉值會被實例化)。
Java 5新增的enum關鍵詞,可以定義枚舉類。該類是一個特殊的類,可以定義自己的field、方法、可以實現介面,也可以定義自己的構造器。
㈨ jAVA的枚舉過程,是用什麼關鍵字來修飾的
定義枚舉類型時本質上就是定義一個類別,只不過很多細節由編譯器幫我們完成了,所以某些程度上,enum關鍵字的作用 就像是class或interface
當我們使用「enum」定義枚舉類型時,實質上我們定義出來的類型繼承自java.lang.Enum類型,而枚舉的成員其實就是我們定義的枚舉類型的一個實例(Instance),他們都被預設為final,所以我們無法改變他們,他們也是static成員,所以我們可以通過類型名稱直接使用他們,當然最重要的,他們都是公開的(public)。
即,我們定義的每個枚舉類型都繼承自java.lang.Enum類,枚舉中的每一個成員默認都是public static final 的。
㈩ 枚舉和類的異同
枚舉是java 5新增了一個menu關鍵字(它與class、interface關鍵字的地位相同),用於定義枚舉,枚舉是一種特殊的類,它一樣有自己的Fileld、方法,可以實現一個或多個介面,也可以定義自己的構造器。一個java源文件中襲拿螞最多隻能定義一個public訪問許可權的枚舉類,且該java源文件也必須和枚舉類的類名相同。但枚舉畢竟不是普通的java類,它與普通類有如下簡單的區別:
1、枚舉類可以實現一個活多個介面,使用menu定義的枚舉直接繼承了java.long.Enum類,而不是繼承Object類。其中java.long.Enum類實現了java.long.Serializable和java.long.Comparable兩個介面。
2、使用enum定義、非抽拍埋象的枚舉默認修飾符為final,因此枚舉不能派生子類。
3、枚舉敏悔的構造器只能使用private訪問控制符,如果省略了枚舉的訪問修飾符其默認為private修飾;如果加強制定訪問修飾符則只能使用private。
4、枚舉的所有實例必須在枚舉的第一行顯示列出,否則這個枚舉永遠都不能生產實例,列出這些實例時系統會自動添加public static final修飾,無需程序員顯式添加
5、所有的枚舉類都提供了一個values方法,該方法可以很方便的遍歷所有的枚舉值