導航:首頁 > 編程語言 > java枚舉繼承嗎

java枚舉繼承嗎

發布時間:2022-08-18 16:33:37

⑴ 枚舉能繼承類或介面嗎

1 枚舉的定義 :一個特殊的java類,對象的某個屬性的值不能是任意的,必須為固定的一組取值其中的某一個
介面的定義:定義對象的擴展功能,是在繼承之外還需這個對象具備的一些功能
2 上面的定義中說明了枚舉是一個特俗的java類,既然是一個java類,那麼就可以繼承介面。
3 下面的用java代碼來展示枚舉繼承介面的方式 :
//定義一個枚舉:
public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }

public interfacel SuitImp{}//介面
//枚舉實現介面的代碼
public enum Suit implements SuitImp()

⑵ java 枚舉類繼承介面

可以實現多個介面
枚舉類同樣是類 當然可以實現多個介面啦
public enum bction implements Air, water {
;

@Override
public void fly() {
// TODO Auto-generated method stub

}

@Override
public void swim() {
// TODO Auto-generated method stub

}

}

⑶ java的enum到底有什麼用

簡單的說,枚舉就像是一個常量的集合,到時候只用其中一個值判斷。
如:enum.winter
if(string.equals(enum.winter)){
System.out.println("winter");
}
else if(string.equals(enum.spring)){
System.out.println("spring");
}
在項目中都是 類似的用途
別的用途也有 不太熟 呵呵

⑷ 關於java枚舉的疑惑

首先Enumeration是一個介面,不是類,你想使用,就做個類實現它。
java.util.Enumeration
不過它其實不是傳統意義上的枚舉類型,他是用來訪問某些集合類的介面,類似Iterator
散列與向量用Enumration,鏈表與樹集用Iteration

TestEnum和Enum沒有關系,枚舉是不能繼承一個類或其他枚舉的。只能實現介面。你能使用values是因為你聲明TestEnum是enum,不是因為TestEnum繼承自誰。你是不是認為你沒寫values,還能使values,是因為TestEnum繼承自某一個類似於object的公共基類?不是這樣。

values方法是你指定Enum這種類型後,編譯器為你實現的。

另外,使用java,最好不要使用枚舉。那是面向過程編程遺留的數據類型。其實並不符合oop思想。完全可以用類來代替它。

⑸ 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枚舉類型的枚舉值是不是繼承枚舉類的一個對象啊

確切的說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枚舉方面的問題,見問題補充

<E extends Enum<E>>代表類型的限定聲明,限定了E只能是Enum<E>的子類,即只能繼承自「枚舉類」。
EnumSet<E>代表返回值的類型,復制並返回另一個EnumSet枚舉數集。

import java.util.Arrays;
import java.util.EnumSet;

public class Test {
static enum 果{ 蘋果,梨,葡萄}
static public void main(String 參數[]){
果 a[]={ 果.梨, 果.蘋果};
EnumSet<果> s1,s2;
s1=EnumSet.Of(Arrays.asList(a));
s2=EnumSet.Of(Arrays.asList(果.values()));
System.out.println(s1);
System.out.println(s2);
}
}
=======
[蘋果, 梨]
[蘋果, 梨, 葡萄]

⑻ java枚舉類的幾點疑惑

先看一個簡單的枚舉類。
package enumcase;

public enum SeasonEnum {
SPRING,SUMMER,FALL,WINTER;
}

enum和class、interface的地位一樣
使用enum定義的枚舉類默認繼承了java.lang.Enum,而不是繼承Object類。枚舉類可以實現一個或多個介面。
枚舉類的所有實例都必須放在第一行展示,不需使用new 關鍵字,不需顯式調用構造器。自動添加public static final修飾。
使用enum定義、非抽象的枚舉類默認使用final修飾,不可以被繼承。

⑼ java枚舉的幾種用法

用法一:常量
在JDK1.5 之前,我們定義常量都是: public static fianl.... 。現在好了,
有了枚舉,可以把相關的常量分組到一個枚舉類型里,而且枚舉提供了比常量更多的方法。
Java代碼

public enum Color {
RED, GREEN, BLANK, YELLOW
}

用法二:switch
JDK1.6之前的switch語句只支持int,char,enum類型,使用枚舉,能讓我們的代碼可讀性更強。
Java代碼

enum Signal {
GREEN, YELLOW, RED
}
public class TrafficLight {
Signal color = Signal.RED;
public void change() {
switch (color) {
case RED:
color = Signal.GREEN;
break;
case YELLOW:
color = Signal.RED;
break;
case GREEN:
color = Signal.YELLOW;
break;
}
}
}

用法三:向枚舉中添加新方法
如果打算自定義自己的方法,那麼必須在enum實例序列的最後添加一個分號。而且 Java 要求必須先定義 enum 實例。
Java代碼
public enum Color {
RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);
// 成員變數
private String name;
private int index;
// 構造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
// 普通方法
public static String getName(int index) {
for (Color c : Color.values()) {
if (c.getIndex() == index) {
return c.name;
}
}
return null;
}
// get set 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}

用法四:覆蓋枚舉的方法
下面給出一個toString()方法覆蓋的例子。
Java代碼

public enum Color {
RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);
// 成員變數
private String name;
private int index;
// 構造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
//覆蓋方法
@Override
public String toString() {
return this.index+"_"+this.name;
}
}

用法五:實現介面
所有的枚舉都繼承自java.lang.Enum類。由於Java 不支持多繼承,所以枚舉對象不能再繼承其他類。
Java代碼

public interface Behaviour {
void print();
String getInfo();
}
public enum Color implements Behaviour{
RED("紅色", 1), GREEN("綠色", 2), BLANK("白色", 3), YELLO("黃色", 4);
// 成員變數
private String name;
private int index;
// 構造方法
private Color(String name, int index) {
this.name = name;
this.index = index;
}
//介面方法
@Override
public String getInfo() {
return this.name;
}
//介面方法
@Override
public void print() {
System.out.println(this.index+":"+this.name);
}
}

用法六:使用介面組織枚舉
Java代碼

public interface Food {
enum Coffee implements Food{
BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO
}
enum Dessert implements Food{
FRUIT, CAKE, GELATO
}
}

private static void testImplementsInterface() {
for (Food.DessertEnum dessertEnum : Food.DessertEnum.values()) {
System.out.print(dessertEnum + " ");
}
System.out.println();
//我這地方這么寫,是因為我在自己測試的時候,把這個coffee單獨到一個文件去實現那個food介面,而不是在那個介面的內部。
for (CoffeeEnum coffee : CoffeeEnum.values()) {
System.out.print(coffee + " ");
}
System.out.println();
//搞個實現介面,來組織枚舉,簡單講,就是分類吧。如果大量使用枚舉的話,這么干,在寫代碼的時候,就很方便調用啦。
//還有就是個「多態」的功能吧,
Food food = Food.DessertEnum.CAKE;
System.out.println(food);
food = CoffeeEnum.BLACK_COFFEE;
System.out.println(food);
}

閱讀全文

與java枚舉繼承嗎相關的資料

熱點內容
pythonclass使用方法 瀏覽:221
移動加密軟體去哪下載 瀏覽:281
php彈出alert 瀏覽:207
吉林文檔課件加密費用 瀏覽:131
感測器pdf下載 瀏覽:284
隨車拍app綁定什麼設備 瀏覽:896
方維團購系統源碼 瀏覽:991
linux反彈shell 瀏覽:158
列印機介面加密狗還能用嗎 瀏覽:300
二板股票源碼 瀏覽:448
度人經pdf 瀏覽:902
怎麼配置android遠程伺服器地址 瀏覽:960
java程序員看哪些書 瀏覽:943
什麼app可以免費和外國人聊天 瀏覽:797
pdf手寫筆 瀏覽:182
別永遠傷在童年pdf 瀏覽:990
愛上北斗星男友在哪個app上看 瀏覽:421
主力散戶派發源碼 瀏覽:671
linux如何修復伺服器時間 瀏覽:61
榮縣優途網約車app叫什麼 瀏覽:479