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

热点内容
少儿编程中小班英语教案 浏览:422
锁屏密码加密手机怎么解除 浏览:191
linuxlostfound 浏览:132
征途服务器ip地址 浏览:328
git提交代码命令行 浏览:163
什么叫浏览器服务器结构 浏览:155
于谦聊天哪个app 浏览:447
小鹏汽车nlp算法工程师薪资 浏览:879
代码加密与隐藏 浏览:647
fordfulkerson算法 浏览:350
京东热app在哪里可以下载 浏览:874
彩报图书app哪个好 浏览:301
新君威20压缩比 浏览:186
手机php整站 浏览:915
windows路由跳转命令 浏览:472
量子遗传算法程序 浏览:222
各编程语言自带软件库 浏览:184
编程最少学习多少 浏览:403
禅海蠡测语译pdf 浏览:189
服务器如何设置主城领地 浏览:122