java枚举

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java枚举相关的知识,希望对你有一定的参考价值。

enum color
red,blue,black;


public class testenum1
public static void main(String args[])
System.out.println(color.red);


怎么理解枚举?不明白,color.red,red是静态常量,red是什么类型的静态常量啊?red没有被赋值,怎么直接输出color.red=red?菜鸟,刚学,不懂。

参考技术A 枚举 一般就是能数得清的东西。像交通指示灯就只有三个颜色:黄、绿、红

这样有限的东西,如果我们写个类就显得很多余了,所以就有了枚举。在你写的枚举中 red、blue、black都是color中的一种。用枚举color来显示color有哪些。将其写在枚举color中。
调用red的时候就需要枚举名.变量(其实这里说red是变量是不合适的,只是为了方便理解。)变量和它的值是一样的。 所以输出的就是red了。
参考技术B 枚举也是一个类。。。red是这个枚举类的类实例。。。。(枚举常量)

System.out.println(color.red);
调用的是枚举常量的 toString()方法
返回的是枚举常量的名称 即 red本回答被提问者采纳

java枚举类的几点疑惑

1、在Test类中定义一个java枚举类:
public class Test
public enum colorred,blue,yellow,white
public color c=color.red;

请问这个c是一个引用吗?指向枚举类color的实例对象? 如果是那么System.out.println(c)应该会打印出一个地址,但结果却是red.这是咋回事?
2、求一个枚举enum常用的实例,要详细代码,是实例,体现出在实际中的应用,谢谢在线等。

参考技术A  先看一个简单的枚举类。
package enumcase;

public enum SeasonEnum
SPRING,SUMMER,FALL,WINTER;


enum和class、interface的地位一样
使用enum定义的枚举类默认继承了java.lang.Enum,而不是继承Object类。枚举类可以实现一个或多个接口。
枚举类的所有实例都必须放在第一行展示,不需使用new 关键字,不需显式调用构造器。自动添加public static final修饰。
使用enum定义、非抽象的枚举类默认使用final修饰,不可以被继承。

以上是关于java枚举的主要内容,如果未能解决你的问题,请参考以下文章

java枚举有啥不好

java怎么声明枚举类型

java里啥情况用枚举啊

java中的枚举类型指的是啥啊?

java枚举

java枚举