枚举类型的构造方法_Java语言程

6.6.4 枚举类型的构造方法

枚举类型既然是类,那么就可以有构造方法。只不过只能是私有的(private),不能有公有的(public)构造方法,这是为了避免直接对枚举类型实例化。

【例6-11】 枚举类型的构造方法举例。

程序运行结果:

国内核心期刊的系数:1.2

思考与分析:(1)当创建枚举类型的常量对象时,运行系统会调用相应的构造方法。如果没有显示定义构造方法,编译系统会为枚举类型提供一个默认的不带形参的构造方法。

(2)枚举常量可以包含一个实参列表,如SCI(2.2),EI(1.5),DomesticCoreJournal (1.2);。在枚举类型中,如果定义带实参的枚举常量对象,那么就应该有相应的带形参的构造方法,否则会引发编译错误。当创建带实参的枚举常量对象时,运行系统会将各实参传递给相应构造方法对应的形参。

(3)一般来说,不能使用new实例化一个枚举类型。

模仿例6-11:编程实现LARGE(“大号”),MEDIUM(“中号”),SMALL(“小号”)实参列表的枚举常量构造方法。(www.guayunfan.com)

【例6-12】 枚举类型实现接口的举例

程序运行结果:

LARGE:大号

MEDIUM:中号

SMALL:小号

思考与分析:(1)枚举类型实现了接口IDescription。用统一的调用接口,打印枚举常量各自的字符串。

(2)枚举类型中可以定义一些方法,甚至可以为每一个枚举常量定义方法。每个枚举常量{}之间是类体,并在类体中实现了接口的抽象方法。

模仿例6-12:使用枚举类型实现接口,改写例6-10,完成同样的功能。

java枚举类构造方法默认是,枚举类型的构造方法_Java语言程相关推荐

  1. Java中包装类型的作用_基本类型的包装类_Java语言程

    基本类型的包装类_Java语言程 6.3 基本类型的包装类 在Java中,每一种基本数据类型都有一个相应的包装类,这些类都在java.lang包中.8种基本数据类型所对应的包装类是:byte(Byte ...

  2. 枚举类——概述、常用方法、自定义枚举类、Enum创建枚举类

    一.枚举类的概述 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类 2.当需要定义一组常量时,强烈建议使用枚举类 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. 二.枚举类 ...

  3. java穷举法解方程_枚举法(穷举法)_Java语言程

    枚举法(穷举法)_Java语言程 3.5.1 枚举法(穷举法) 枚举法就是把所有可能的情况一一测试,筛选出符合条件的各种结果进行输出. [例3-20] 百元买百鸡:用一百元钱买一百只鸡.已知公鸡5元/ ...

  4. java 类中有几种访问权限_类中成员的访问权限_Java语言程

    类中成员的访问权限_Java语言程 4.7.2 类中成员的访问权限 Java将类中成员(成员变量和成员方法)的访问权限(可见性)划分为4种情况,按照访问权限的范围大小从小到大列出如下. ·私有(pri ...

  5. java定义说话方法_类定义的基本形式_Java语言程

    类定义的基本形式_Java语言程 4.2.1 类定义的基本形式 前面一节我们已经了解了类和对象的概念,然而在实际编程过程中,该如何定义一个类以及类中的对象呢? 在Java语言中,用户自己可以定义一个类 ...

  6. java中对象清空值_对象的引用和清除_Java语言程

    对象的引用和清除_Java语言程 4.3.3 对象的引用和清除 在创建了类的对象后,就可以使用对象.即对象使用的原则是"先创建后使用". 使用对象的方法是:通过运算符". ...

  7. Java基础学习——Java网络编程(三)自定义枚举类、枚举类的常用方法、枚举类实现接口、枚举类的实际应用

    一.什么是枚举 枚举法:一枚一枚的列举出来,列举的元素是有限的.确定的. 例如:星期(一.二.三.四.五.六.日).性别(男.女).季节(春.夏.秋.冬) 在Java中的关键字为enum 二.枚举类的 ...

  8. java+自定义异常类+输入若干成绩 为负数时输出抛出异常_java+自定义异常类+输入若干成绩 为...

    java+自定义异常类+输入若干成绩 为 [2021-02-10 19:00:54]  简介: java中定义类的关键字是:"class".在Java中定义一个类,需要使用&quo ...

  9. python枚举类的意义_python 枚举类型什么意思

    匿名用户 1级 2016-08-10 回答 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等.Python 的原生类型(Built-in type ...

最新文章

  1. Spark Executor内幕
  2. [USACO1.2]方块转换 Transformations
  3. Quartz + spring 定时任务常见错误总结
  4. 你必须知道的容器监控 (2) cAdvisor
  5. 技术案例分享:WIPTEC采用Aruba边缘服务平台,实现物流配送生产自动化、精简生产力
  6. C#命名规范,SqlServer命名规范
  7. Maximo 7.5 集成方式 去掉主菜单
  8. win8 附件数据库失败解决方案《1》
  9. Vue的生命周期的介绍
  10. bugku之凯撒部长的奖励
  11. 巴西-跨境电商蓝海市场
  12. VALSE 4月12日 下午 第一会场 深度学习模型设计 会议记录
  13. 猎头职场:为什么你职场总碌碌无为
  14. 计算机语言的学习方法
  15. CRM的客户数据模型:UDM中的人(people)和组织(organization)(IV)
  16. 前端框架比比看:bootstrap, bulma, foundation, material-design-lite, materialize-css, semantic-ui
  17. skinme找不到java_我的世界skinme皮肤下载|我的世界skinme模组安装器v1.2.1 官方版 - 极光下载站...
  18. 离合器组件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  19. MySQL——超详细的下载及安装过程
  20. 电子白板出现无信号该怎么办?

热门文章

  1. oracle linux7.9安装 Oracle Enterprise Manager Cloud Control13.5
  2. 灵山卫大集逢一逢六开集。也就是阴历的日期,如果末尾是1或6,例如,阴历二月十六,就是赶灵山卫大集的日子。下面,请根据输入的阴历日期,判断这一天是否赶集吧。
  3. 毕业设计 树莓派人脸识别系统(Python)
  4. LaTeX的入门使用(新手使用向)
  5. Eva 初学算法笔记 —— 1.直接插入排序
  6. 修改服务器上tomcat的默认端口号
  7. 1 基于搜索的路径规划 —— Dijkstra算法(python)
  8. oracle教程课件,Oracle教程三PPT课件
  9. C语言中求最大公约数的算法(三种)
  10. kubernetes v1.20项目之部署二进制安装_系统环境配置