「java整形枚举」java枚举类型

博主:adminadmin 2023-03-18 02:03:06 358

今天给各位分享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枚举类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。