枚举类型是那些字段由一组固定常量组成的类型。常见的例子有:东南西北四个方向,星期几等。

所有枚举类型都隐式继承java.lang.Enum类型,因为java不支持多重继承,所以枚举不能继承其他任何类。

java对枚举的支持是语言级的支持,switch-case结构无需加枚举名作为前缀。

多个枚举常量之间以逗号隔开,枚举常量列表最后可以以分号结束,如果有成员方法或成员变量,必须以分号结束。

枚举类型可以有成员方法和成员变量。如果有成员方法和成员变量,枚举常量列表要放在枚举体最开始,以分号结尾。

枚举类型的构造器必须是包级私有或者私有,构造器会自动创建枚举类型体开端定义的枚举常量。

 enum Day {
     SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
 }
 public class EnumTest {
     static void tell(Day data) {
         switch (data) {
             case MONDAY :
                 System.out.println(1);
                 break;
             case SUNDAY :
                 System.out.println(0);
             default :
                 break;
         }
     }
     public static void main(String[] args) {
         Day x = Day.MONDAY;
         tell(x);
         for (Day i : Day.values()) {
             System.out.println(i);
         }
     }
 }
 enum Planet {
     MERCURY(303E23, 2.4397E6), VENUS(4.869E24, 6.0518E6), EARTH(5.97E24,
             6.378E6);
     final double mass;
     double radius;
     private Planet(double mass, double radius) {
         this.mass = mass;
         this.radius = radius;
     }
     final double G = 6.67E-11;
     double getGravity() {
         return G * mass / (radius * radius);
     }
 }
 class EnumTest {
     final int x;
     public EnumTest() {
         x = 3;
     }
     public static void main(String[] args) {
         for (Planet i : Planet.values()) {
             System.out.printf(i + "\t" + i.mass + "\t" + i.radius + "\t"
                     + i.getGravity()+"\n");
         }
     }
 }

java中的枚举类型的更多相关文章

  1. Java中的枚举类型详解

    枚举类型介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义 ...

  2. 全面解读Java中的枚举类型enum的使用

    这篇文章主要介绍了Java中的枚举类型enum的使用,开始之前先讲解了枚举的用处,然后还举了枚举在操作数据库时的实例,需要的朋友可以参考下 关于枚举 大多数地方写的枚举都是给一个枚举然后例子就开始sw ...

  3. 浅谈java中的枚举类型(转)

    用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. p ...

  4. 【译】Java中的枚举

    前言 译文链接:http://www.programcreek.com/2014/01/java-enum-examples/ Java中的枚举跟其它普通类很像,在其内部包含了一堆预先定义好的对象集合 ...

  5. 说说Java中的枚举(一)

    在实际编程中,往往存在着这样的“数据集”,它们的数值在程序中是稳定的,而且“数据集”中的元素是有限的.例如星期一到星期日七个数据元素组成了一周的“数据集”,春夏秋冬四个数据元素组成了四季的“数据集”. ...

  6. 【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

    原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-impor ...

  7. 扒一扒: Java 中的枚举

    目录 1. 枚举的定义 1.1 传统的非枚举方法 1.2 枚举方法 1.3 定义总结 2 枚举的本质 2.1 继承 java.lang.Enum 2.2 final 类型 2.3 枚举常量本身就是该类 ...

  8. Java基础_枚举类型

    作用:让数据更简洁,更易读,增加代码可读性. 为了用1,2,3,4,5分别表示老师,学生,小组,班主任,后勤,可以直接设置一个变量,让roleType = 1,但这样写代码可读性差. 也可以定义一个成 ...

  9. 用好Java中的枚举真的没有那么简单

    1.概览 在本文中,我们将看到什么是 Java 枚举,它们解决了哪些问题以及如何在实践中使用 Java 枚举实现一些设计模式. enum关键字在 java5 中引入,表示一种特殊类型的类,其总是继承j ...

随机推荐

  1. (安装linux操作系统)

    安装linux centos系统. 准备一张centos的镜像可以去官网下载. 准备VMware Workstation官网下载. 作为初学者一般都用虚拟机安装(VMwareWorkstation), ...

  2. mysql优化之索引篇

    对mysql优化是一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平 ...

  3. IBM云的商业动作之我见(1):IBM 收购 OpenStack 托管私有云公司 Blue Box [IBM Acquired Blue Box]

    2015-06-10 IBM 刚刚(2015/06/03)宣布收购 Blue Box 公司.本文就聊聊这点事. 1. Blue Box 是做什么的?它是一家中小型托管私有云提供商. 1.1 公司的简单 ...

  4. MyEclipse 启动 tomcate 失败 解决方法

    MyEclipse中启动tomcate失败 十月 20, 2015 9:53:04 下午 org.apache.catalina.startup.VersionLoggerListener log信息 ...

  5. 分享——张南《从Desktop到Mobile的自动化测试实践》

    张南在top100summit(14年)上分享了google从Desktop到Mobile的自动化测试实践,这里分享一下 案例简述 随着每年移动用户量的增长,移动网络速度以及覆盖力的增强,移动设备逐年 ...

  6. Android中事件传递机制的总结

    事件传递虽然算不上某个单独的知识点,但是在实际项目开发中肯定会碰到,如果不明白其中的原理,那在设计各种滑动效果时就会感到很困惑. 关于事件的传递,我们可能会有以下疑问: 事件是如何传递的 事件是如何处 ...

  7. [No000026]365种创业、办公、和生活成长的精华资源

    只需要具备以下技能,人人都可以成为企业家:经得起失败的考验,思维活跃,新点子不断,能够脚踏实地把新点子转化为产品,并在这个过程中坚持不懈,百折不挠,即使跌倒了,也要及时从失败中学习,迅速投入到下一次冒 ...

  8. 使用SQL如何把用逗号等字符隔开的字符串转换成列表(转)

    如何把用逗号等字符隔开的字符串转换成列表,下面依逗号分隔符为例: 比如有一个字符串,其值为:香港,张家港,北京,上海用SQL把这个字符串转换成列表的方法是: 1.方法一 WITH A AS (SELE ...

  9. wk_01

    Python 学习环境搭建 pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等.我们安装时其会将pyenv安装在当前用户家目录中的.pye ...

  10. Swift中的Masonry第三方库——SnapKit

    在OC开发时我常用一个名叫Masonry的第三方Autolayout库,在转Swift后发现虽然Swift可以混编OC,但总感觉有些麻烦,在Github上发现了这个叫做SnapKit的第三方库,发现使 ...