| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> java学习过程之枚举(一) -> 正文阅读 |
|
[Java知识库]java学习过程之枚举(一) |
(文章内容源于学习 ---韩顺平教育java视频) 一、枚举的引出 ? ? ? ? 现在有一个季节类Season,要你创建四个季节对象,并对它进行描述。 ? ? ? ? 如果用我们学过的方法来写。
这样就会出现两个问题,你的季节的对象可以无限多个,而且你的季节类里面的name 或者 其他属性都可以被修改。这就很难受,明天我说的就是春天,你就给我改成其他乱七八糟的。 这就引出了枚举,枚举就能很好的解决这两个问题。 所以未了更好的体现季节以及它的描述:创建Season类有以下特点: (1)季节只有有限4个,春夏秋冬。 (2)这个对象的属性,你只能读不能改。 二、枚举是一组常量的集合; ? ? ?解释: ????????(1)可以理解是:枚举是一种特殊的类,里面包含一组有限的对象。 ????????(2)进一步理解是:枚举它的对象是有限的。 三、枚举的两种实现方式 ? ? ? ? (1)自定义实现枚举--->使用的关键字仍然是:class ? ? ? ? (2)使用关键字enum关键字实现枚举 四、演示自定义枚举 ? ? ? ? (1)第一步将构造器,防止外部其他类 new 对象。
? ? ? ? (2)第二步:只读不改。不提供set方法,能提供get方法。 ? ? ? ? (3)第三步:在该类内部直接创建固定对象,而且这个对象对外暴露。(对象名规范是用全部大写)-->固定对象,对外暴露---> public final static 来修饰对象。 ? ? ? ? 这里使用final 和 static能使代码更加的优化,不会导致加载类。
五、enum关键字实现枚举 ????????注意:这个实现enum关键字在 自定义枚举的上进行修改 (1)将class 换成 enum 。 (2)将public static final 类名 对象名1 = new 类名(实参列表); ????????将public static final 类名 对象名2?= new 类名(实参列表); ? ? ? ?....? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ......? ? ? ? ? ? ? ? ? ? ? ? ? ? ?... ....... ...? ? ; ????????将public static final 类名 对象名n?= new 类名(实参列表); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 换成 ? ? ? ? 对象名(实参列表),对象名2(实参列表),~~~~~,对象名n(实参列表);
????????????????????????????????????????????????????????????????替换成:
(3)? 当有很多常量对象,不是它们不是以分号隔开,而是以逗号隔开,最后一个用分号表结束。??????? (4)? 如果enum关键字来实现枚举,要求将定义的常量对象放在最前面。如果实参列表的不同那么它们加载构造器不同。 六、enum关键字实现枚举的细节 (1) 当我们使用enum关键字时开发一个枚举时,这个类会默认继承Enum这个final类. (2)? 对象名因实参列表的不同那么它们加载构造器不同。 (3)如果对象要加载的是无参构造器,那么可以省略对象名后面的括号和参数列表。 七、enum关键字实现枚举练习
这么Gender是个枚举,BOY 是它的一个对象,然后把它赋值 boy来保存。由于Gender本身没有toString方法,所以输出boy的时候,条用的是父类的toString ,而父类的toString 是返回 name。而这个name = 调用它的对象。 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/19 17:35:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |