首页 / JAVA / java基础42 枚举(类)
java基础42 枚举(类)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java基础42 枚举(类),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2807字,纯文字阅读大概需要5分钟。
内容图文
1、概述
枚举:一些方法在运行时,它需要数据不能是任意的,而必须是一定范围内的值,可以使用枚举解决
2、枚举的格式
enum 类名{ 枚举值 }
例子
1 package com.dhb.enumeration; 2 3 /* * 4 * @author DSHORE / 2018-6-21 5 * 6 */ 7 enum Sex{//枚举类 8 // 相当于:public static final Sex man=new Sex("男"); 9 man("男") { 10 @Override 11publicvoid run() { 12 System.out.println("男人正在跑步"); 13 } 14//相当于:public static final Sex woman=new Sex("女");15 },woman("女") { 16 @Override 17publicvoid run() { 18 System.out.println("女人正在游泳"); 19 } 20 }; 21 String value; 22private Sex(String value){ 23this.value=value; 24 } 25//成员函数26publicvoid getValue(){ 27 System.out.println("Value:"+value); 28 } 29publicabstractvoid run(); 30} 3132publicclass Demo2 { 33publicstaticvoid main(String[] args) { 34 Sex sex=Sex.man;//获取枚举类对象35 sex.value="男"; 36 sex.getValue(); //返回值:男37 sex.run(); //返回值:男人正在跑步38 } 39 }
3、枚举要注意的细节(上面例子的总结)
1.枚举类也是一个特殊的类.
2.枚举值默认的修饰符是public static final
3.枚举值就是枚举值所属的类的类型,枚举值指向的是本类的对象
4.枚举类构造方法默认修饰符private
5.枚举类可以定义自己的成员变量与成员函数
6.枚举类可以定义自己的构造函数,单是构造函数修饰符必须是private
7.枚举类可以存在抽象的方法,但是枚举值必须去实现抽象方法
8.枚举值必须要位于枚举类的第一个语句
4、实例
需求:定义一个用户的性别不能随意更改/实例化
方式1:(不用枚举)
1 package com.dhb.enumeration; 2 3 /* * 4 * @author DSHORE / 2018-6-21 5 * 6 */ 7 class Gender{ //自定义一个性别类 8 String value; 9publicstatic final Gender man=new Gender("男"); 10publicstatic final Gender woman=new Gender("女"); 1112private Gender(String value){ 13this.value=value; 14 } 15} 1617class Person{//人员类18private String name; 19private Gender sex; 20public String getName() { 21return name; 22 } 23publicvoid setName(String name) { 24this.name = name; 25 } 26public Gender getSex() { 27return sex; 28 } 29publicvoid setSex(Gender sex) { 30this.sex=sex; 31 } 32} 3334publicclass Demo1 { 35publicstaticvoid main(String[] args) { 36 Person p=new Person(); 37 p.setName("张三"); 38 p.setSex(Gender.woman); 39 System.out.println("姓名:"+p.getName()+"\t,"+p.getSex().value);//返回值:姓名:张三 ,女40 } 41 }
方式2:(用了枚举)
1 package com.dhb.enumeration; 2 3 /* * 4 * @author DSHORE / 2018-6-21 5 * 6 */ 7 enum Gender{ //枚举类 8 man("男"),woman("女"); 9 String value; 10private Gender(String value){ 11this.value=value; 12 } 13} 1415class Person{//人员类16private String name; 17private Gender sex; 18public String getName() { 19return name; 20 } 21publicvoid setName(String name) { 22this.name = name; 23 } 24public Gender getSex() { 25return sex; 26 } 27publicvoid setSex(Gender sex) { 28this.sex=sex; 29 } 30} 3132publicclass Demo1 { 33publicstaticvoid main(String[] args) { 34 Person p=new Person(); 35 p.setName("张三"); 36 p.setSex(Gender.woman); 37 System.out.println("姓名:"+p.getName()+"\t,"+p.getSex().value);//返回值:姓名:张三 ,女38 } 39 }
原创作者:DSHORE 作者主页:http://www.cnblogs.com/dshore123/ 原文出自:https://www.cnblogs.com/dshore123/p/9210345.html 欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!) |
原文:https://www.cnblogs.com/dshore123/p/9210345.html
内容总结
以上是互联网集市为您收集整理的java基础42 枚举(类)全部内容,希望文章能够帮你解决java基础42 枚举(类)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。