导航:首页 > 编程语言 > 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枚举继承吗相关的资料

热点内容
方维团购系统源码 浏览:988
linux反弹shell 浏览:152
打印机接口加密狗还能用吗 浏览:299
二板股票源码 浏览:446
度人经pdf 浏览:900
怎么配置android远程服务器地址 浏览:959
java程序员看哪些书 浏览:942
什么app可以免费和外国人聊天 浏览:795
pdf手写笔 浏览:182
别永远伤在童年pdf 浏览:990
爱上北斗星男友在哪个app上看 浏览:421
主力散户派发源码 浏览:671
linux如何修复服务器时间 浏览:61
荣县优途网约车app叫什么 浏览:479
百姓网app截图是什么意思 浏览:229
php如何嵌入html 浏览:817
解压专家怎么传输 浏览:745
如何共享服务器的网络连接 浏览:136
程序员简易表白代码 浏览:170
什么是无线加密狗 浏览:66