今天来介绍一下枚举类(enum),枚举类有以下几个特性:
enum和class、interface的地位一样
使用enum定义的枚举类继承java.lang.Enum,而不是java.lang.Object
枚举类的构造方法必须是私有的
相对于使用常量,枚举类更加直观,类型安全。使用常量会有以下几个缺陷:
类型不安全。若一个方法中要求传入性别这个参数,用常量的话,形参就是int类型,开发者传入任意类型的int类型值就行,但是如果是枚举类型的话,就只能传入枚举类中包含的对象。
没有命名空间。开发者要在命名的时候以GENDER_开头来识别不同性别。
1.基本枚举类
public enum Gender {
MAN,WOMAN;
}
2.有参构造枚举类
枚举类型后面的参数就是构造函数的参数
枚举的构造函数必须为私有构造方法
public enum Gender {
MAN("男"),
WOMAN("女");
private String name;
private Gender(String name) {
this.name = name;
}
public String getName(){
return name;
}
}
3.枚举的抽象方法
枚举类有抽象方法,可以选择使用匿名内部类的方式创建枚举对象,重写抽象方法
public enum Gender {
MAN("男") {
@Override
public String getEnName() {
//do something
return "man";
}
},
WOMAN("女") {
@Override
public String getEnName() {
//do something
return "woman";
}
};
private String name;
private Gender(String name) {
this.name = name;
}
public String getName(){
return name;
}
public abstract String getEnName();
}
扫码关注,不迷路

文章转载自lebronchen,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




