十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
java枚举类的构造函数实例详解
创新互联专业为企业提供长清网站建设、长清做网站、长清网站设计、长清网站制作等企业网站建设、网页设计与制作、长清企业网站模板建站服务,十年长清做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
首先,给出一个例题如下:
enum AccountType { SAVING, FIXED, CURRENT; private AccountType() { System.out.println(“It is a account type”); } } class EnumOne { public static void main(String[]args) { System.out.println(AccountType.FIXED); } }
Terminal输出:
It is a account type It is a account type It is a account type FIXED
分析:
创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 Java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式Class Enum
简单来说就是枚举类型中的枚举值都会对应调用一次构造函数,本题中三个枚举值,这里还要特别强调一下,枚举中的构造函数是私有类,也就是无法再外面创建enum
枚举值默认static(静态类常量) ,会为每个类常量增加一个构造函数。AccountType.FIXED使用的是枚举值,没有创建。所以一共就3次。
public class Test { public static void main(String[] args) { weekday mon = weekday.mon; weekday tue = weekday.tue; weekday thus = weekday.thus; weekday fri = weekday.fri; } public enum weekday { mon(), tue(2), wes(3), thus(), fri; private weekday() { System.out.println("no args"); } private weekday(int i) { System.out.println("have args " + i); }; } }
Terminal输出:
no args have args 2 have args 3 no args no args
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!