开发者社区> 学堂小助手> 正文

枚举(枚举应用)|学习笔记

简介: 快速学习 枚举(枚举应用)
+关注继续查看

开发者学堂课程【【名师课堂】Java 高级开发枚举(枚举应用)  】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/372/detail/4544


枚举(枚举应用)  


目录

一、 概念

二、 范例

三、 总结

 

一、 概念

枚举最大的特点是只有指定的几个对象可以使用。做一个最简单的应用,定义一个表示性别的枚举类,很明显只能有两个对象。

 

二、范例:实现如下

package cn.mldn.demo;

class Person {

private String name ;

private int age ;

private Sex sex;

public Person(String name,int age,Sex sex) {

this.name = name ;

this.age = age ;

this.sex = sex ;

}

@Override

public String tostring( )  {

return"Person [ name=” + name + ” , age = ” + age + ” , sex=” + sex + ” ] “xi

}

}

enum Sex {

MALE("男") , FEMALE("女");

private String title

private Sex(Stringtitle) {

this.title = title ;

}

public String toString() {

return this.title ;

}

public class TestDemo

此时写完后在底下设置为:

Public static void main (String [ ] args)  {

Person per  = new Person(“张三”,20,sex,MALE)

System.out.println(per);

出现可选值:

Person(“张三”,20,sex=男)

这实际上就是多例,而多例就是几个可选对象而已

另外需要注意的是,枚举本身还支持 switch 判断,也就是说 switch 按照时间进度来讲,最初只支持 int 和 char,到了 JDK1.5 的时候支持了枚举,到了 JDK1.7 的时候支持了 String。

如何支持 String,如下显示:

package cn.mldn.demo;

enum Sex {

MALE, FEMALE ;

}

public class TestDemo {

public static void main(String[ ] args)  {

switch(Sex.MALE) (

case MALE

System.out.println("是男人")

break ;

case FEMALE :

System.out.println("是女人");

break ;

代码结果:是男人

实际上,不使用枚举所有代码也可以写,是否使用凭个人习惯。

 

三、总结

由于枚举在 Java 中出现过晚,所以大部分人还不习惯使用,但是在整个 JDK 里面,为了更好的去应用技术,所以在 JDK 文档原代码中也会出现枚举,能看懂即可。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
11.1 Java 详解 Object 和包装类
java.lang.Object 类 所有 Java 类的最终祖先,编译系统默认继承 Object 类,Object 类包含了所有 Java 类的公共属性和方法。 • Object(): 构造方法 • getClass():Class<?> • public boolean equals(Object obj) :该方法本意用于两个对象的“深度”比较,也就是比较两对象封装的数据是否相等;而比较运算符“==”在比较两对象变量时,只有当两个对象引用指向同一对象时才为真值。但在Object类中,equals方法是采用“==”运算进行比较; • hashCode() • public String t
3 0
09 枚举类
枚举概述 枚举用来管理一组相关常量的集合,使用枚举可以提高程序的可读性,使代码更清晰且更易于维护。 在 Java 5 之前没有提供枚举类型,可以通过声明静态常量(final static 变量)替代枚举常量。 通常在接口中声明一组静态常量,当然也可以在一般类中声明一组静态常量。这些常量往往都是 int 类型,这是为了以后方便使用 switch 语句进行判断。
4 0
Java 8 Lambda 表达式相关
Java 8 之后推出的 Lambda 表达式开启了 Java 语言支持函数式编程(Functional Programming)的新时代。 Lambda 表达式,也称为闭包(Closure),现在很多语言都支持 Lambda表达式,如 C++、C#、Swift、Objective-C 和 JavaScript 等。为什么 Lambda 表达式这怎么受欢迎,这是因为Lambda表达式是实现支持函数式编程技术基础。 函数式编程与面向对象编程有很大的差别,函数式编程将程序代码看作数学中的函数,函数本身作为另一个函数的参数或返回值,即高阶函数。而面向对象编程是按照真实世界客观事物的自然规律进行分析,
6 0
20 Java 使用反射(Reflection) 和内省技术
反射(Reflection)是程序的自我分析能力,通过反射可以确定类有哪些方法、有哪些构造方法以及有哪些成员变量。Java语言提供了反射机制,通过反射机制能够动态读取一个类的信息;能够在运行时动态加载类,而不是在编译期。反射可以应用于框架开发,它能够从配置文件中读取配置信息动态加载类、创建对象,以及调用方法和成员变量。
3 0
07 接口和抽象类
接口 比抽象类更加抽象的是接口,在接口中所有的方法都会被 public abstract 修饰。 注意:Java 8 之后接口中新增加了 default 默认方法和 对 static 方法的支持。 • Java 中不支持多继承,而是通过接口实现比多重继承更强的功能,java 通过接口可以使出于不同层次,甚至不相关的类具有相同的行为. • 接口可以认为是特殊的抽象类, 不能用于直接创建对象。接口的作用在于规定一些功能框架,具体功能的实现则通过该接口约束的类完成。
2 0
06 Java 的继承
继承 Java 继承的实现(只支持类的单继承,不支持类多继承,但是支持接口的多实现)。 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类. 定义类时直接通过 extends 关键字指明要继承的父类。
3 0
1. 初步规划
因为目前正从事测试平台开发的相关工作,但是苦于市场上的大多数产品的针对性太强,或多或少没有一个通用的方案。于是想利用自己的空余时间,写一个web测试平台,也顺便记录下自己的学习历程。至于是否太监,就不得而知了。先暂且将他命名为lamb吧~~
3 0
【Kotlin 初学者】函数(方法)(下)
函数 函数(function)和方法(method)这两个概念经常被混淆,他们到底有什么关联和区别?其实,它俩没有什么区别只是不同语言叫法不一样,在Java中普遍叫方法。而在Kotlin中普遍叫函数。重点是:函数(function)和方法(method)是同一个东西,别搞错了。
4 0
05 Java 类和对象
面向对象是 Java 最重要的特性。Java 是彻底的、纯粹的面向对象语言,在 Java 中“一切都是对象”。本章将介绍面向对象基础知识。 面向对象 • 相对面向过程而言, 面向对象和面向过程都是一种思想 • 将功能封装进对象,强调具备了功能的对象。 • 是一种符合人们思考习惯的思想, 可以将复杂的事情简单化, 将程序员从执行者转换成了指挥者.
5 0
Java 总结 数据的输入/输出
标准输入输出流 字符输入: char c = (char)System.in.read(); 字符串输入: BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); String str = buf.readLine(); 使用System.out输出 (标准输出流 System.out )提供的如下方法 print()方法:实现不换行的数据输出; println()方法:与上面方法的差别是输出数据后将换行。 printf()方法:带格式描述的数据输出。该方法包含两个参数,第一个参数中给出输出格式的
4 0
1783
文章
0
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载