java枚举类的构造函数实例详解
java枚举类的构造函数实例详解
首先,给出一个例题如下:
enumAccountType
{
SAVING,FIXED,CURRENT;
privateAccountType()
{
System.out.println(“Itisaaccounttype”);
}
}
classEnumOne
{
publicstaticvoidmain(String[]args)
{
System.out.println(AccountType.FIXED);
}
}
Terminal输出:
Itisaaccounttype Itisaaccounttype Itisaaccounttype FIXED
分析:
创建枚举类型要使用enum关键字,隐含了所创建的类型都是Java.lang.Enum类的子类(java.lang.Enum是一个抽象类)。枚举类型符合通用模式ClassEnum
简单来说就是枚举类型中的枚举值都会对应调用一次构造函数,本题中三个枚举值,这里还要特别强调一下,枚举中的构造函数是私有类,也就是无法再外面创建enum
枚举值默认static(静态类常量),会为每个类常量增加一个构造函数。AccountType.FIXED使用的是枚举值,没有创建。所以一共就3次。
publicclassTest{
publicstaticvoidmain(String[]args){
weekdaymon=weekday.mon;
weekdaytue=weekday.tue;
weekdaythus=weekday.thus;
weekdayfri=weekday.fri;
}
publicenumweekday{
mon(),tue(2),wes(3),thus(),fri;
privateweekday(){
System.out.println("noargs");
}
privateweekday(inti){
System.out.println("haveargs"+i);
};
}
}
Terminal输出:
noargs haveargs2 haveargs3 noargs noargs
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!