「java整形枚举」java枚举类型
今天给各位分享java整形枚举的知识,其中也会对java枚举类型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java枚举类中为什么不可以有整型,下面会报错
枚举也是一种类,不能像你代码中那样把它理解成一个数组,
一个类该怎么写枚举类也该咋写。
“1,2,3”是一种数据类型,它不是对象也不是变量,肯定报错。
下面是从网上摘的一个说明,你看下
枚举(enum):
1.Java 5 新增,是类类型,但不能使用new
不能继承其他类,也不能作为超类,即不能扩展.但隐式继承自java.lang.Enum类,可以实现接口.
2.枚举包括两个预定义方法:
public static enum-type[] values();
public static enum-type valueOf(String st); 用于for-each循环遍历枚举常量.
且可以用”==”来判断两个枚举常量是否相等.
从Enum继承而来三个方法:
final int ordinal() ----返回常量顺序值
final int compareTo(enum-Type e) -----同一枚举中比较顺序值
final Boolean equals(enum-type e) -----同一枚举中是否相等,相当于”==”
3.在switch表达示中case语句不需也不能加入枚举的类型,否则会出错.
4.枚举是类类型,可以定义构造函数,且可以重载,同样也可定义其他的实例方法和变量,这些每一个枚举常量都有自己的一个副本.甚至可以定义静态的成员.可以实现接口.
如:public enum Answer implements DoAnswer{
Perfect(10),Good(8),Common(5),Bad(2),Terrible;//枚举常量,相当于public static Answer类型
public static int type=1; //定义一个静态成员
private int degree; //定义一个实例成员变量
private Answer(){ //定义一个不带参数的构造函数,注只能为private的,默认也一样
degree=-1;
}
private Answer(int d){ //定义一个带参数的重载构造函数
degree=d;
}
public String getProblem(){ //实现接口方法
return DoAnswer.PROBLEM;
}
public int getDegree(){ //定义一个实例成员函数
return degree;
}
public Answer getAnswer(){ //定义一个返回自身的成员函数,每一个常量都有自己的副本
return this;
}
}
Java语言中的枚举类型如何使用?
Java语言中的枚举类型的使用方法如下:
用法一:常量;
public enum Color {
RED, GREEN, BLANK, YELLOW
}
用法二:switch;
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;
}
}
}
用法三:向枚举中添加新方法;
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;
}
}
用法四:覆盖枚举的方法;
public class Test {
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;
}
}
public static void main(String[] args) {
System.out.println(Color.RED.toString());
}
}
用法五:实现接口;
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);
}
}
用法六:使用接口组织枚举。
public interface Food {
enum Coffee implements Food {
BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO
}
enum Dessert implements Food {
FRUIT, CAKE, GELATO
}
}
以上就是Java语言中枚举类型的基本使用方法。
java中的枚举十分重要么? 我不是很理解这个枚举,看书也看不进去
所谓枚举只是一种让代码更清楚一些、不容易出错的一种手段,并不是必需的。
你就理解成一组代号就行了,这样比用静态变量最大的好处就是增加、减少项目时不需要考虑序号的调整。
可以参考维基百科里的解释:
枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见。 例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,就是一个枚举。
关于java整形枚举和java枚举类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。