java - Java 枚举构造函数
问题描述
有一条语句“可以在枚举之外调用枚举构造函数。” 在 JAVA SE:编程完整课程。我知道枚举构造函数可以具有私有或默认访问修饰符。当它是私有的时,我们无法访问枚举之外的枚举构造函数。当枚举具有默认访问修饰符时,我们可以在枚举之外访问枚举构造函数。但是我找不到任何关于如何访问枚举之外的枚举构造函数的示例。你能举个例子吗?
解决方案
从语言规范:
如果枚举声明中的构造函数声明是公共的或受保护的(第 6.6 节),则会出现编译时错误。
...
在枚举声明中,没有访问修饰符的构造函数声明是私有的。
因此,枚举构造函数始终是私有的:您不能在枚举本身之外调用枚举构造函数;并且您只能通过this(...)
作为其中一个枚举构造函数的第一条语句调用另一个构造函数,而不是 as new MyEnumType(...)
。
推荐阅读
- javascript - Gulp Static i18n:href 插值不起作用
- bash - 如何在 unix 脚本中提取文件名的一部分并检查它是否存在
- javascript - 使用
标签为什么这里的监督变得如此琐碎,自以为是,肛门,无情和被动攻击?这是一个代码论坛。顺便说一句 -1
- swift - 将 UIBezierPath 转换为 PKStrokePath swift
- java - (不是 Recuisive)在 android java 中获取列表文件类型
- c# - FileSystemWatcher:将多个过滤器事件聚合成一个?
- python - Seaborn regplot:IndexError:数组索引过多
- java - Spring - 测试多线程问题
- c - 提高无损音频编码算法中位复制的速度(用 C 编写)
- mysql - 嘿!我无法使用 NodeJS 将 html 表单数据插入 MySQL 数据库