Java开发知识之Java的枚举

        Java开发知识之Java的枚举

一丶什么是枚举

  枚举可以理解为就是常量,在Java中我们定义常量.都是用 final语句. C++中都是用const关键字.

枚举跟C++概念都是一样的.就是特定的常量而已.

二丶Java中的枚举

    java中的常量.一般都是final定义.但是我们讲过.final定义的常量.初始化的时候可以每次给不同的值.

所以加上static 才能保证其内存不会改变.一般常量都是定义在接口中给我们使用的.

可能需要连续定义.

例如:

  public final static int a = 1;

  public final static int b = 2;

  public final static int c = 3;

....

  枚举就是管理一组常量的一个结构而已.

据图语法如下:

    

权限修饰符 enum关键字 枚举名称{枚举常量,枚举常量,枚举常量  
}

枚举常量的定义

  枚举名称  常量;

具体使用如下代码:

类代码:

  

public class MyTestenum {public MyTestenum() {// TODO 自动生成的构造函数存根
    }public enum NUMBER{N_NUMBER1,N_NUMBER2,N_NUMBER3}}

外部new对象.并且使用enum定义常量.

public static void main(String[] args) throws MyException {MyTestenum t = new MyTestenum();NUMBER n = NUMBER.N_NUMBER1; //定义枚举常量n,必须初始化,可以为null也可以是枚举中的常量.switch(n) {case N_NUMBER1:System.out.println("1");break;case N_NUMBER2:System.out.println("2");break;case N_NUMBER3:System.out.println("3");break;}}

可以看到.我们可以直接使用 枚举 定义枚举变量. 并且赋值其中一个枚举常量.

但是我们又有疑问了. 我们的枚举常量并没有初始化.但是为什么程序不出错.而且还打印了1;

原因是. 枚举常量.默认就是从0开始.

 

三丶枚举作为方法传递

  我们可以定义枚举常量.规定只接受什么类型的枚举.

public class MyTestenum {public MyTestenum() {// TODO 自动生成的构造函数存根
    }enum NUMBER{N_NUMBER1 ,N_NUMBER2 ,N_NUMBER3 }public static void doit(NUMBER c) {switch(c) {case N_NUMBER1:break;case N_NUMBER2:break;case N_NUMBER3:break;}}}

使用:

  

public static void main(String[] args) throws MyException {MyTestenum.doit(NUMBER.N_NUMBER1);}

我们要传入枚举常量才可以.

四丶枚举的高级用法

    我们知道.JAVA是一个面向对象的程序. 我们定义的枚举.其实已经默认继承了一个类

枚举类型可以看做一个类,其中的成员也都被默认使用 final public static 修饰了.所以枚举名称(变量)

其实就是一个引用.他继承了父类.则有父类的方法可以使用.

常用方法;

  

代码举例以values()为例.遍历枚举成员

    public static void main(String[] args) throws MyException {MyTestenum.doit(NUMBER.N_NUMBER1);NUMBER n = null;for(int i = 0; i < n.values().length;i++) {System.out.print(" " + n.values()[i]);}}

使用方法返回了一个数组. 又使用链式方法.调用了 length求数组成员. 下面则进行遍历.

五丶知识总结

    1.定义枚举关键字

      enum 名称{成员,成员};

      1.枚举定义的成员. 默认都是 public static  final 修饰的. 其成员是一个常量.且内存不可以更改.

    2.枚举方法.

      枚举可以当参数传递给方法使用.

    3.枚举高级用法

      枚举可以看成一个类.他的成员都是它的实例. 它集成子java.lang.Enum类. 我们可以使用方法进行遍历.

例如values():返回枚举数组. 可以进行遍历枚举.并且输出结果.

 

 

  

  

转载于:https://www.cnblogs.com/iBinary/p/9813925.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux php7 mongodb,CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis

CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis我是想能yum就yum&#xff0c;所有软件的版本一直会升级&#xff0c;注意自己当时的版本是不是已经更新了。首先装CentOS 7装好centos7后默认是不能上网的cd /etc/sysconfig/network-scripts/找到形如ifcfg-enp0s3的文件&#xff…

【汇总目录】C#

[2019年04月29日] C# textbox 自动滚动 [2019年02月07日] C#利用VUDP.cs开发网络通讯应用程序 [2019年02月06日] C#利用VINI.cs操作INI文件 [2018年12月19日] 控件数组批量生成控件 转载于:https://www.cnblogs.com/velscode/p/10535101.html

基于 Bootstrap 的响应式后台管理面板

你想建立一个后台管理面板或者分析仪表板吗&#xff1f;不需从头开始&#xff0c;Keen IO Bootstrap 是一个响应式的仪表盘模板&#xff0c;可以帮助你在几分钟内呈现数据&#xff0c;让你可以创建一个有吸引力的&#xff0c;定制的分析仪表板&#xff0c;随时可以展现给你的团…

Java:AspectJ的异常翻译

在这篇博客文章中&#xff0c;我描述了如何使用AspectJ自动将一种异常类型转换为另一种异常类型。 问题 有时&#xff0c;我们处于必须将异常&#xff08;通常由第三方库引发&#xff09;转换为另一种异常的情况。 假设您使用的是诸如hibernate之类的持久性框架&#xff0c;并…

sparkstreaming监听hdfs目录_大数据系列之Spark Streaming接入Kafka数据

Spark Streaming官方提供Receiver-based和Direct Approach两种方法接入Kafka数据&#xff0c;本文简单介绍两种方式的pyspark实现。1、Spark Streaming接入Kafka方式介绍Spark Streaming 官方提供了两种方式读取Kafka数据&#xff1a;一是Receiver-based Approach。该种读取模式…

php职业认证,如何用 PHP 进行 HTTP 认证

PHP 的 HTTP 认证机制在 PHP 以 Apache 模块方式运行时才有效&#xff0c;因此该功能不适用于 CGI 版本。在 Apache 模块的 PHP 脚本中&#xff0c;可以用 header() 函数来向客户端浏览器发送“Authentication Required”信息&#xff0c;使其弹出一个用户名/密码输入窗口。当用…

时间服务器

时间服务器配置&#xff1a; 1 安装软件包: [rootlocalhost ~]# yum install ntp –y 2 修改配置文件 [rootlocalhost ~]# vim /etc/ntp.conf # 允许内网其他机器同步时间 192.168.1.0该网段 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap 允许任何ip的客户机都可以…

使用 HTML5 Canvas 绘制出惊艳的水滴效果

HTML5 在不久前正式成为推荐标准&#xff0c;标志着全新的 Web 时代已经来临。在众多 HTML5 特性中&#xff0c;Canvas 元素用于在网页上绘制图形&#xff0c;该元素标签强大之处在于可以直接在 HTML 上进行图形操作&#xff0c;具有极大的应用价值。 这里分享一个惊艳的 Canva…

Java EE 8:社区想要什么?

在进行了之前的两次社区调查之后&#xff0c;第一次调查于2013年12月发布&#xff0c;第二次调查于2014年1月发布&#xff0c;Oracle呼吁企业社区对Java EE 8进行第三次也是最后一次调查 。该调查的截止日期为2014年3月24日&#xff0c;12日。太平洋时间。 值得注意的是&#…

mysql 字符串类型 char varchar

字符类型用在存储名字、邮箱地址、家庭住址等描述性数据 char指的是定长字符&#xff0c;varchar指的是变长字符 #官网&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/char.html #注意&#xff1a;char和varchar括号内的参数指的都是字符的长度#char类型&#xff1a;定长…

二叉树遍历规则

树的遍历顺序大体分为三种&#xff1a;前序遍历&#xff08;先根遍历、先序遍历&#xff09;&#xff0c;中序遍历&#xff08;中根遍历&#xff09;&#xff0c;后序遍历&#xff08;后根遍历&#xff09;。 如图所示二叉树&#xff1a; 前序遍历&#xff1a;前序遍历可以记为…

vue vue的table表格自适应_vue table autoHeight(vue 表格自动高度)

小编主要做的都是后台管理系统&#xff0c;采用布局多为头部、左侧菜单栏&#xff0c;右侧内容&#xff0c;头部和菜单栏固定位置&#xff0c;内容部分如果很长就会出现滚动条(iview和element都提供了布局容器)&#xff0c;后台管理系统多为表格的增删改查&#xff0c;so&#…

php网页的注册界面设计,HTML开发博客之注册页面设计(一)

CSS文件的引入新建文件reg.html文件首先我们来分析网页布局这是我们页面完成后的效果&#xff0c;网页分为三部分头部&#xff0c;主体&#xff0c;和底部我们按照这个顺序开始编写。头部导航栏的编写html>用户注册页面首页科技资讯心情随笔资源收藏图文图片留言板登陆/注册…

Arctext.js - 基于 CSS3 jQuery 的文本弯曲效果

Arctext.js 是基于 Lettering.js 的文本旋转插件&#xff0c;根据设置的旋转半径准确计算每个字母的旋转弧度并均匀分布。虽然 CSS3 也能够实现字符旋转效果&#xff0c;但是要让安排每个字母都沿着弯曲路径排布相当的复杂&#xff0c;结合 Arctext.js 则可以轻松实现这个效果。…

在JDT中使用Java 8 Lambda

旧 Curmudgeon 认识Smalltalk的Dude 在修改Eclipse Java开发工具 &#xff08;JDT&#xff09;项目正在开发的Java 8支持时&#xff0c;我一直在使用这种语言。 我承认我对Java 8中的lambda有点不满意。 当然&#xff0c;这来自于知道Smalltalk &#xff08;和LISP / Schem…

[POJ1463] Strategic game

题目链接&#xff1a; 传送门 题目大意&#xff1a; Bob非常享受玩电脑游戏的过程&#xff0c;尤其是策略游戏&#xff0c;但是在有些时候&#xff0c;他因为不能在第一时间找到最佳的策略而十分伤心。 现在&#xff0c;他遇到了一个问题。他必须保卫一个中世纪的城市&#xff…

zabbix邮件告警

zabbix邮件告警调用第三方邮件服务来发送邮件。 [roottiandong ~]# yum install mailx -y 修改配置文件 [roottiandong ~]# vim /etc/mail.rc 67 set from15600857257163.com smtpsmtp.163.com 68 set smtp-auth-user15600857257163.com 69 set smtp-auth-password密码&#xf…

模糊推理机制 matlab,基于模糊综合评判推理机制的学生素质评价系统设计与实现...

第22卷第2期2002年2月文章编号&#xff1a;(2002)l00l-908l2-008l-03计算机应用ComputerAppIicationsVoI.22,No.2Feb.,2002基于模糊综合评判推理机制的学生素质评价系统设计与实现尹世群(西南师范大学计算机与信息科学学院&#xff0c;重庆4007l5)摘要&#xff1a;根据模糊数学…

SweetAlert – 替代 Alert 的漂亮的提示效果

Sweet Alert 是一个替代传统的 JavaScript Alert 的漂亮提示效果。SweetAlert 自动居中对齐在页面中央&#xff0c;不管您使用的是台式电脑&#xff0c;手机或平板电脑看起来效果都很棒。另外提供了丰富的自定义配置选择&#xff0c;可以灵活控制。 在线演示 插件下载 您可…

onpagefinished等了很久才执行_今天自律了吗?停课不停锻炼 才是战疫正确姿势

近日&#xff0c;中青校媒面向全国915名高校学生发起关于“宅家运动”情况的调查&#xff0c;发现15.39%被调查者在家期间会严格执行锻炼计划&#xff0c;39.96%选择间歇性完成制订的运动目标&#xff0c;还有44.65%在家很少运动。(3月18日《中国青年报》)新冠肺炎疫情发生&…