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

     //定义了4个等级
    enum Level{
    A,B,C,D
    }
  2. 枚举类的实质:

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

     enum Level{
    A("85~100","优"),
    B("75~84","良"),
    C("60~74","中"),
    D("60以下","差");
    private String score;
    private String ctype;
    private Level(String score,String ctype){ //构造方法必须是私有的
    this.score = score ;
    this.ctype = ctype;
    }
    public String getscore(){
    return this.score;
    }
    public String getctpye(){
    return this.ctype;
    }
    }
    public class Enumation {
    public static void main(String[] args) {
    System.out.println(Level.A.getscore());
    System.out.println(Level.A.getctpye());
    Level[] ls = Level.values();
    }
    }
    //输出结果
    //85~100
    //优
  4. 带抽象方法的枚举类
     enum Level{
    A("85~100"){
    @Override
    public String getctpye() {
    return "优";
    }
    },
    B("75~84") {
    @Override
    public String getctpye() {
    return "良";
    }
    },
    C("60~74") {
    @Override
    public String getctpye() {
    return "中";
    }
    },
    D("60以下") {
    @Override
    public String getctpye() {
    return "差";
    }
    };
    private String score;
    private Level(String score){
    this.score = score ;
    }
    public String getscore(){
    return this.score;
    }
    public abstract String getctpye(); //每个对象都要重写抽象方法 }
  5. 常用方法

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

    输出:
    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. eclipse有时新建一个PHP文件或者是HTML文件没有快捷键太麻烦了,总要用鼠标点 怎么创建自己的快捷键呢?

    问题:总是在eclipse上编写PHp程序和对应的HMTL模板文件,但是却没有可以直接新PHP文件和HTMl文件的快捷方式,苦恼. 在百度上搜了一下,我们是可以创建自己的组合快捷键的. 创建快捷键的方 ...

  2. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(35)-文章发布系统②-构建项目

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(35)-文章发布系统②-构建项目 注:阅读本文,需要阅读本系列的之前文章 代码生成器下载地址(文章开头处) ...

  3. python模拟登陆之下载

    好长时间没有更新博客了,哈哈. 今天公司给了这么一个需求,现在我们需要去淘宝获取上一天的订单号,然后再根据订单号去另一个接口去获取订单详情,然后再给我展示到web! 中间涉及到的技术点有: 模拟登陆 ...

  4. Note | Javascript权威指南[第六版] 第1章:Javascript概述

       JavaScript是一门高端的.动态的.弱类型的编程语言,非常适合面向对象和函数式的编程风格.JavaScript的语法源自Java,它的一等函数(first-class function)来 ...

  5. spring session工程发布--一种新的管理httpsession的方法

    官方文档:http://spring.io/blog/2014/07/08/spring-session-1-0-0-m1-released 1. 优点: This project provides ...

  6. Call Directory Extension 初探

    推荐序 本文介绍了 iOS 10 中的 Call Directory Extension 特性,并且最终 Demo 出一个来电黑名单的 App. 作者:余龙泽,哈工大软件工程大四学生,之前在美图公司实 ...

  7. rabbitMQ实战(一)---------使用pika库实现hello world

    rabbitMQ实战(一)---------使用pika库实现hello world 2016-05-18 23:29 本站整理 浏览(267)     pika是RabbitMQ团队编写的官方Pyt ...

  8. (转)VS2012网站发布详细步骤

    2.弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件: 4. 在配置中,要选择“Release”——发布模式(Release   称为发布版本,它往往是进行了各种优化,使得程序 ...

  9. Axiom3D学习日记 4.地形,天空,雾

    首先需要引用Axiom.SceneManagers.Octree.dll. 地形: 载入地形配置,从一个文件中. scene.LoadWorldGeometry( "Terrain.xml& ...

  10. apache commons io包基本功能

    1. http://jackyrong.iteye.com/blog/2153812 2. http://www.javacodegeeks.com/2014/10/apache-commons-io ...