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中文编码小结

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

  2. java 枚举类型分析

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

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

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

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

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

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

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

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

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

  7. Java序列化小结

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

  8. Java枚举类使用

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

  9. Java 枚举类型简介

    目录 Java 枚举示例 Java 枚举构造函数 枚举类型是用于定义常量集合的特殊类型,更确切的说,JAVA枚举类型是一种特殊的 java 类.枚举类型可以包含常量.方法等.在 java5 中添加了 ...

随机推荐

  1. 第六章 - 图像变换 - 图像拉伸、收缩、扭曲、旋转[2] - 透视变换(cvWarpPerspective)

    透视变换(单应性?)能提供更大的灵活性,但是一个透视投影并不是线性变换,因此所采用的映射矩阵是3*3,且控点变为4个,其他方面与仿射变换完全类似,下面的例程是针对密集变换,稀疏图像变换则采用cvPer ...

  2. asp.net中绘制大数据量的可交互的图表

    在一个asp.net项目中要用到能绘制大数据量信息的图表,并且是可交互的(放大.缩小.导出.打印.实时数据),能够绘制多种图形. 为此进行了多方调查预研工作,预研过微软的MsChart图表组件.基于j ...

  3. 2.10 用最少次数寻找数组中的最大值和最小值[find min max of array]

    [本文链接] http://www.cnblogs.com/hellogiser/p/find-min-max-of-array.html [题目] 对于一个由N个整数组成的数组,需要比较多少次才能把 ...

  4. The Boost C++ Libraries

    " ...one of the most highly regarded and expertly designed C++ library projects in the world.&q ...

  5. SQL Server判断对象是否存在 (if exists (select * from sysobjects )(转)

    1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name = ’数据库名’)    drop database [数据库名] ...

  6. Andriod布局之LinearLayout

    LinearLayout是安卓中的常见布局,即线性布局.(提示:在Andriod中要常用alt+/快捷键来补全代码 其中有一个重要的属性android:orientation,它是表示线性布局的方向问 ...

  7. iOS下OpenCV开发配置的两个常见问题(sign和link)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 先上可以运行官方推荐的<OpenCV for iOS samples>的demo链 ...

  8. spring boot项目编译出来的jar包如何更改端口号

    执行的时候更改端口即可 . java -Dserver.port=9999 -jar boot.jar

  9. Pycharm数据库连接错误

    简单地总结就一句话: Python2的mysql库为:mysqldb,而Python3的为:pymysql. 当我们使用Pycharm开发项目时,首先需要下载安装相对应的数据库,以及在项目根目录下的s ...

  10. jupyter nootbook本地使用指南

    本地文件读入jupyter notebook 在文件夹内,shift+鼠标右键,出现菜单中选择“”在此处打开命令窗口“”,输入jupyter notebook, 可以把本地文件读入jupyter.