1. 如何定义一个枚举类?

    1. //定义了4个等级
    2. enum Level{
    3. ABCD
    4. }
  2. 枚举类的实质:

    1. class Level{
    2. public static final Level A = new Level();
    3. public static final Level B = new Level();
    4. public static final Level C = new Level();
    5. public static final Level D = new Level();
    6. }
  3. 枚举类可以定义构造方法,属性,方法

    1. enum Level{
    2. A("85~100","优"),
    3. B("75~84","良"),
    4. C("60~74","中"),
    5. D("60以下","差");
    6. private String score;
    7. private String ctype;
    8. private Level(String score,String ctype){ //构造方法必须是私有的
    9. this.score = score ;
    10. this.ctype = ctype;
    11. }
    12. public String getscore(){
    13. return this.score;
    14. }
    15. public String getctpye(){
    16. return this.ctype;
    17. }
    18. }
    19. public class Enumation {
    20. public static void main(String[] args) {
    21. System.out.println(Level.A.getscore());
    22. System.out.println(Level.A.getctpye());
    23. Level[] ls = Level.values();
    24. }
    25. }
    26. //输出结果
    27. //85~100
    28. //优
  4. 带抽象方法的枚举类
    1. enum Level{
    2. A("85~100"){
    3. @Override
    4. public String getctpye() {
    5. return "优";
    6. }
    7. },
    8. B("75~84") {
    9. @Override
    10. public String getctpye() {
    11. return "良";
    12. }
    13. },
    14. C("60~74") {
    15. @Override
    16. public String getctpye() {
    17. return "中";
    18. }
    19. },
    20. D("60以下") {
    21. @Override
    22. public String getctpye() {
    23. return "差";
    24. }
    25. };
    26. private String score;
    27. private Level(String score){
    28. this.score = score ;
    29. }
    30. public String getscore(){
    31. return this.score;
    32. }
    33. public abstract String getctpye(); //每个对象都要重写抽象方法
    34.  
    35. }
  5. 常用方法

    1. public class Enumation {
    2. public static void main(String[] args) {
    3. System.out.println(Level.C.name()); //返回枚举常量的名称
    4. System.out.println(Level.C.ordinal()); //返回枚举常量的序号(下标从0开始)
    5. Level[] ls = Level.values(); //遍历枚举类型
    6. for(Level l :ls){
    7. System.out.println(l);
    8. }
    9. String letter = "B" ;
    10. //返回带指定名称的指定枚举类型的枚举常量,若letter为非枚举类型会抛异常java.lang.IllegalArgumentException: No enum constant
    11. Level b = Level.valueOf(letter);
    12. System.out.println(b.B);
    13. }
    14. }
        

    输出:
    C
    2
    A
    B
    C
    D
    B

java枚举小结的更多相关文章

  1. Java 枚举用法详解

    概念 enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum 关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, GR ...

  2. Java中文编码小结

    Java中文编码小结 1. 只有 字符到字节 或者 字节到字符 的转换才存在编码转码; 2. Java String 采用 UTF-16 编码方式存储所有字符.unicode体系采用唯一的码点表示唯一 ...

  3. java 枚举类型分析

    最近做android开发,需要用到枚举值,这样可以连续赋值,我按之前c++那样书写,如下所示: public enum ColorSelect { RED_BAGE = 0, GREEN_BAGE, ...

  4. 【转】java枚举类型enum的使用

    原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到 ...

  5. 【转】Java 枚举7常见种用法

    原文网址:http://softbeta.iteye.com/blog/1185573 Java 枚举7常见种用法 博客分类: java java枚举enmu  原创地址:http://blog.li ...

  6. 【转】掌握java枚举类型(enum type)

    原文网址:http://iaiai.iteye.com/blog/1843553 1   背景 在java语言中还没有引入枚举类型之前,表示枚举类型的常用模式是声明一组具有int常量.之前我们通常利用 ...

  7. 转载 java枚举类型enum的使用 (原文地址:http://blog.csdn.net/wgw335363240/article/details/6359614)

    java枚举类型enum的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java中定义的常量值不采用enmu枚举类型,而采用public final static 类型来定义呢?以前我们都是采 ...

  8. Java序列化小结

    title: Java序列化小结 date: 2017-05-06 20:07:59 tags: 序列化 categories: Java基础 --- Java序列化就是将一个对象转化成一串二进制表示 ...

  9. Java枚举类使用

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

随机推荐

  1. 安装rabbitmq集群

    一.安装 erlang.rabbitmq 在10.0.0.45.10.0.0.57.10.0.0.58三个节点上安装,然后开启 RabbitMQ 监控插件 以下在root用户操作 1./etc/hos ...

  2. Android中的主题Theme

    系统自带的Theme: android以及为我们定义好了一些theme,需要是我们直接可以拿来使用. 常用的Theme通常如下:  android:theme="@android:style ...

  3. CCHttpClient发起https请求

    游戏中用http post请求和服务器交互,随便一抓包就暴露了提交的数据,太不靠谱,决定对游戏中一些敏感数据使用https协议,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网 ...

  4. docker 服务注册

    docker 服务注册 etcd docker run -d --name etcd -p 4001:4001 -p 7001:7001 elcolio/etcd

  5. [AngualrJS + Webpack] Production Source Maps

    When you uglify your Angular code with Webpack's uglify plugin, debugging your application can be a ...

  6. spring beans源码解读之--BeanFactory进化史

    BeanFactory是访问bean容器的根接口,它是一个bean容器的基本客户端视图. 先让我们看看beanfactory的前生后世吧! beanFactory有四个重要的子接口: SimpleJn ...

  7. 他们都没告诉你适配 Android N 需要注意什么

    还记得 6.0 对 Apache Http 库的废除导致的应用崩溃吗?还记得 6.0 中 MAC id 始终返回为空导致的唯一 id 混合生成算法大幅失效吗? 1. Android 中 Java 的实 ...

  8. Block之变量作用域

    在使用block的过程中经常会调用不同类型.不同作用域的变量,如果对这些变量作用域的理解稍有偏差,就会出现问题.故此特意整理出block中会经常使用到的几种变量,如有补充,欢迎指出. 1. 局部变量 ...

  9. Junit简介和常用API

    测试几个的概念 白盒测试——把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的. 回归测试——软件或环境的修复或更正后的“再测试”,自动测试工具对这类测试尤其有用. 单元测试 ...

  10. Java_Activiti5_菜鸟也来学Activiti5工作流_之初识常用服务类和数据表(二)

    /** * 代码清单中使用 ProcessEngines类加载默认的流程配置文件(activiti.cfg.xml),再获取各个服务组件的实例. * RepositoryService主要用于管理流程 ...