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();
    }
    */
     
  • 相关阅读:
    JavaScript数组方法
    模拟js数组indexOf方法
    js数组排序
    发布Exchange的SMTP,POP3服务器:ISA2006系列之十八
    用智能卡构建身份验证的马其诺防线:ISA2006系列之二十三
    Java与CSharp的相同与不同
    创建可传递的林信任,Active Directory系列之二十
    组策略指派Office2003分发,Active Directory系列之二十三
    发布Exchange的RPC以及RPC Over HTTPS:ISA2006系列之十九
    初步理解组策略,Active Directory系列之二十一
  • 原文地址:https://www.cnblogs.com/hujingwei/p/4947928.html
Copyright © 2011-2022 走看看