zoukankan      html  css  js  c++  java
  • 枚举类型的总结

    package EnumExercise;
     
    public class Student {
    private String name;
    private Grade grade;
    public Student(String name, Grade grade) {
    super();
    this.name = name;
    this.grade = grade;
    }
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public Grade getGrade() {
    return grade;
    }
    public void setGrade(Grade grade) {
    this.grade = grade;
    }
    public static void main(String[] args) {
    Student s=new Student("hu",Grade.A);
    String grade="A";
    //将一个字符串转换为对应的枚举 对象
    Grade  g=Grade.valueOf(Grade.class, grade);
    System.out.println(g.toString());
    //获取 枚举的类型的所有枚举 对象
    Grade  gs[]=Grade.values();
    for(Grade tempG:gs){
    System.out.println(tempG.toString());
    }
    }
    }
    /*JDK5之后开始使用枚举类型,其实现原理与之前相同,但是实现方便*/
    enum Grade{//这是简单的枚举
    A,B,C,D,E//枚举对象
    }
    enum Grade2{
    A("100-90"),B("89-60"),C("59-40"),D("39-20"),E("20-0");//枚举对象
    //枚举对象可以有属性
    private String value;
    private Grade2(String value){//枚举类型的构造函数必须是私有的
    this.value=value;
    }
     
    public String getValue() {
    return value;
    }
    }
    //为枚举类型添加方法
    enum Grade3{
    A("100-90"){
    public String toLocalString() {
    // TODO Auto-generated method stub
    return "优";
    }
    }
    ,B("89-60"){
    public String toLocalString() {
    // TODO Auto-generated method stub
    return "良";
    }
    }
    ,C("59-40"){
    public String toLocalString() {
    // TODO Auto-generated method stub
    return "差";
    }
    }
    ,D("39-20"){
    public String toLocalString() {
    // TODO Auto-generated method stub
    return "很差";
    }
    }
    ,E("20-0"){
    public String toLocalString() {
    // TODO Auto-generated method stub
    return "极其差";
    }
    };//枚举对象
    //枚举对象可以有属性
    private String value;
    private Grade3(String value){//枚举类型的构造函数必须是私有的
    this.value=value;
    }
     
    public String getValue() {
    return value;
    }
    //定义一个抽象方法,然后在各自的实例对象中实现各自需要的方法
    public abstract String toLocalString();
    }
    /*JDK5以前实现控制字段只能在固定范围之间取值的方法
    class Grade {
    private Grade(){
     
    }
    Grade A=new Grade();
    Grade B=new Grade();
    Grade C=new Grade();
    Grade D=new Grade();
    }
    */
     
  • 相关阅读:
    《node.js开发指南》读书笔记(一)
    boostrap按钮
    boostrap预定义样式风格
    bootstrap字体图标
    bootstrap初探2
    bootstrap初探
    CSS3 animation
    css3 3D变换和动画
    css3 2D变换 transform
    pandas处理Excel、cvs
  • 原文地址:https://www.cnblogs.com/hujingwei/p/4947928.html
Copyright © 2011-2022 走看看