java枚举

java 基础之枚举

1.枚举类Enum
  • Enum类是所有的枚举类的父类,但是在申明时并不需要extends申明。子类继承其方法。
  • Enum类常用的方法
方法描述
String name()返回此枚举常量的名称
Static T valueOf (String name)指定名称的指定枚举类型的枚举常量
Static T [ ] values()返回该枚举类的所有枚举
int hashCode()返回此枚举常量的哈希码
以及从超类 Object 继承而来的方法等
2.自定义枚举类
  • 创建一个 Student 枚举类,枚举常量均是 static final 的。相邻枚举常量用逗号隔开,最后一个用分号表示结束,申明的顺序影响 compareTo 方法。
public enum Student{
    
    FIRST,

    SECOND,

    THREE;
}
3.创建枚举类对象
  • 在java中,万物皆是对象,枚举也是一个对象,通常的我们实例化一个对象会去new一个,得到的每个实例,其hascode值一般情况下也不一样。但是枚举类的实例的个数是创建时就固定的,其构造方法也是私有的,并不能通过外部new得到。
  • 获得其实例对象
Student s1=Student.valueOf("FIRST");
Student s2=Student.SECOND;
System.out.println(Student.FIRST.name());
System.out.println(s1.name());
  • 获取所有的枚举
   Student[] t = Student.values();
        for (Student e : t) {
            System.out.println(e);
        }
4.创建枚举属性
  • 枚举也是一个类,也可以拥有自己的属性,但是,由于枚举类的实例对象是创建类时就固定的,必须先有对象再有属性,因此属性的申明要在枚举申明之后,并提供相对应参数的构造方法。
public enum Student {
    
    FIRST("张三"),

    SECOND("李四"),

    THREE("王五");

    private String name;

    Student(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }
}
5.创建方法
  • 也可以申明自己的方法,方法申明在枚举之后,当方法为抽象方法时,每个枚举量需实现自己的逻辑。
public enum Student {

    FIRST("张三") {
        @Override
        public void doMyself() {
            System.out.println("张三");
        }
    },

    SECOND("李四") {
        @Override
        public void doMyself() {
            System.out.println("李四");
        }
    },

    THREE("王五") {
        @Override
        public void doMyself() {
            System.out.println("王五");
        }
    };

    public abstract void doMyself();

     public void sayHello(){
        System.out.println("oh");
    }

    private String name;

    Student(String name) {
        this.name = name;
    }

    public String getName() {
        return this.name;
    }
}
 this.name = name;
}

public String getName() {
    return this.name;
}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值