㈠ 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方法,该方法可以很方便的遍历所有的枚举值