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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!