java枚举类的构造函数实例详解
程序员文章站
2024-02-15 09:04:16
java枚举类的构造函数实例详解
首先,给出一个例题如下:
enum accounttype
{
saving, fixed, current;...
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<e extends enum <e>>,而e表示枚举类型的名称的每一个值都将映射到 protected enum(string name, int ordinal) 构造函数中
简单来说就是枚举类型中的枚举值都会对应调用一次构造函数,本题中三个枚举值,这里还要特别强调一下,枚举中的构造函数是私有类,也就是无法再外面创建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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
上一篇: java实现简单扫雷小游戏
推荐阅读
-
java枚举类的构造函数实例详解
-
Java子类实例化总是默认调用父类的无参构造方法
-
PHP类的声明与实例化及构造方法与析构方法详解,php详解
-
PHP中__construct(),类的构造函数详解
-
PHP类的声明与实例化及构造方法与析构方法详解,php详解_PHP教程
-
PHP类的声明与实例化及构造方法与析构方法详解
-
java通过反射,只需要传了类名和参数,就可以根据不同参数的构造方法实例化对象
-
ThinkPHP中__initialize()和类的构造函数__construct()用法分析_php实例
-
JAVA 枚举单例模式及源码分析的实例详解
-
Java 中DateUtils日期工具类的实例详解