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表示枚举类型的名称的每一个值都将映射到 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枚举类的构造函数实例详解相关推荐

  1. java 静态 编译_Java中的动态和静态编译实例详解

    Java中的动态和静态编译实例详解 首先,我们来说说动态和静态编译的问题. Q: java和javascript有什么区别? 总结了一下:有以下几点吧: 1.首先从运行环境来说java代码是在JVM上 ...

  2. java 接口函数_Java函数式接口Supplier接口实例详解

    这篇文章主要介绍了Java函数式接口Supplier接口实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JDK提供了大量常用的函数式接口以丰 ...

  3. java supplier接口_Java函数式接口Supplier接口实例详解

    这篇文章主要介绍了Java函数式接口Supplier接口实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 JDK提供了大量常用的函数式接口以丰 ...

  4. java 分割数据_java 分割csv数据的实例详解

    java 分割csv数据的实例详解 实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分 ...

  5. java file用法_Java File 类的使用方法详解(转)

    转自:http://www.codeceo.com/article/java-file-class.html Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.本文将对J ...

  6. java 获取用户的MAC地址多种方法实例详解

    java 获取用户的MAC地址多种方法实例详解 这篇文章主要介绍了JAVA实现获取用户的MAC地址的多种方法实例,需要的朋友可以参考下 java实现获取用户的MAC地址方法: 方法一:将本机地址与局域 ...

  7. mongodb java查询_java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库 ...

  8. java 获取oracle表结构_Java导出oracle表结构实例详解

    Java导出oracle表结构实例详解 发布于 2020-7-20| 复制链接 摘记:  Java导出oracle表结构实例详解最近用到的,因为plsql是收费的,不让用,找了很多方法终于发现了这个. ...

  9. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

  10. java中的装饰模式讲解,java 中设计模式(装饰设计模式)的实例详解

    搜索热词 java 中设计模式(装饰设计模式)的实例详解 应用场景: 在不对原有对象类进行修改的基础上,给一个或多个已有的类对象提供增强额外的功能. 我觉得可以从字面理解,装饰,装饰房子.房子可以看成 ...

最新文章

  1. 随手记——大整数运算模板(进化史)
  2. oracle 迁移用户信息,Oracle备份一个用户并迁移
  3. Oracle私房菜之安装Oracle 11g
  4. 用开源工具OCSNG管理资产信息
  5. c语言整行乘非整形等于什么意思,C语言--整形升级寻常算术转换
  6. HDOJ 2673 shǎ崽 OrOrOrOrz
  7. 大数据时代的数据存储,非关系型数据库MongoDB(一)(转)
  8. 平庸技术流,用 WebApi +AngularJS 实现网络爬虫
  9. jquery ajax 参数可以序列化
  10. java 基础第一季
  11. (二)数据结构与算法-稀疏数组
  12. 全球首发!5G折叠屏笔记本电脑ThinkPad X1 Fold震撼上市
  13. vb代码转换为java_有人可以解释如何使用JACOB将VB代码转换为Java吗?
  14. 游戏开发之初识C++模板(C++基础)
  15. Handler、Message几种发送消息形式总结
  16. 【仿人机器人】机器人的数学建模基础
  17. 【吴恩达deeplearning.ai】Course 5 - 2.10 词嵌入除偏
  18. 利用asyncio aiohttp爬取蜂鸟网美图
  19. Python XML文件快速排版
  20. Verilog——反相器

热门文章

  1. Assimp库代码存档
  2. Openstack Integration with VMware vCenter by Devstack and Opencontrail
  3. 在线 IDE,支持 C-sharp, PHP, JavaScript - CodeRun
  4. 2022全国大学生数学建模竞赛获奖难么?国赛求解过程技巧及方案
  5. 员工绩效考核指标设计主要原则(zt)
  6. 【STM32】RCC复位和时钟控制器
  7. 查看Win10是否永久激活
  8. php的gc回收机制,php垃圾回收机制相关(GC)
  9. cron表达式每隔1小时一次_quartz 每天 8-10点每隔10分钟执行一次,11-13点每隔1小时执行一次 cronExpression 要怎么写?...
  10. 数据库面试题:Redis如何保证数据一致性