色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java enum 枚舉還可以這么用

瀏覽:3日期:2022-09-06 14:16:49

在大部分編程語(yǔ)言中,枚舉類型都會(huì)是一種常用而又必不可少的數(shù)據(jù)類型,Java中當(dāng)然也不會(huì)例外。然而,Java中的Enum枚舉類型卻有著許多你意想不到的用法,下面讓我們一起來(lái)看看。

Java enum 枚舉還可以這么用

 1、可以在enum中添加變量和方法

先來(lái)看一段代碼示例:

public enum State {Normal("正常態(tài)", 1), Update("已更新", 2), Deleted("已刪除", 3), Fired("已屏蔽", 4);// 成員變量private String name;private int index;// 構(gòu)造方法,注意:構(gòu)造方法不能為public,因?yàn)閑num并不可以被實(shí)例化private State(String name, int index) { this.name = name; this.index = index;}// 普通方法public static String getName(int index) { for (State c : State .values()) {if (c.getIndex() == index) { return c.name;} } return null;}// get set 方法public String getName() { return name;}public void setName(String name) { this.name = name;}public int getIndex() { return index;}public void setIndex(int index) { this.index = index;} }

從上面的代碼中我們可以看到,定義完枚舉值,然后在其后面加上分號(hào),接著就可以定義其他的變量、方法了。另外需要特別說(shuō)明的是,enum中的構(gòu)造方法不可以用public標(biāo)識(shí),這樣做是為了防止用戶實(shí)例化enum。

 2、可以用來(lái)定義常量

先來(lái)回顧一下Java中如何定義常量吧,看下面一段代碼:

public static final int normalState = 1;private static final int updateState = 2;

下面我們還可以用enum枚舉來(lái)代替上面的常量定義,代碼如下:

public enum State { Normal, Update, Deleted, Fired}

在Java中用enum來(lái)定義常量在語(yǔ)法上沒有什么優(yōu)勢(shì),但是enum枚舉類型可以提供更多的操作功能。

 3、在enum中實(shí)現(xiàn)接口

先來(lái)看下面一段代碼:

public interface ICanReadState {void read();String getState();} public enum State implements ICanReadState {Normal("正常態(tài)", 1), Update("已更新", 2), Deleted("已刪除", 3), Fired("已屏蔽", 4);private String name;private int index;private State(String name, int index) { this.name = name; this.index = index;}// 接口方法1@Overridepublic String getState() { return this.name;}// 接口方法2@Overridepublic void read() { System.out.println(this.index + ":" + this.name);} }

和一般的類中使用接口一樣,enum枚舉中同樣可以繼承接口,并實(shí)現(xiàn)接口中的所有方法,這樣做的好處在于可以更方便地對(duì)枚舉中的值進(jìn)行排序、比較等操作,封裝性更好。

 總結(jié)

說(shuō)白了,enum枚舉類型是一個(gè)不可以被繼承的final類,就以上面的State枚舉為例,如果你查看enum類型的字節(jié)碼,其實(shí)是State類型的類靜態(tài)常量。

via:ceocode – 小峰

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美激情久久久久久久大片 | 亚洲成a人片在线观 | 中国国语毛片免费观看视频 | 中文字幕有码在线播放 | 欧美性另类69xxxx极品 | 美女黄频免费观看 | 国产a一级毛片午夜剧院 | 国产欧美日韩高清专区手机版 | 三级大片网站 | 在线观看国产一区二区三区 | 免费一区二区三区四区 | 亚洲 自拍 欧美 综合 | 香港三级日本三级三级人妇 | 欧美另类videosbestsex久久 | 亚洲国产情侣一区二区三区 | 看免费人成va视频全 | 精品国产一区二区三区四区不 | 欧美成人精品 | 国产高清一区二区三区免费视频 | 美女视频黄a视频免费全程 美女视频黄a视频免费全过程 | 波多野结衣在线播放视频 | 美日韩一级 | 国产一区二区在线观看视频 | 在线视频 国产交换 | 九九免费精品视频在这里 | 亚洲第一区精品日韩在线播放 | 一区二区中文字幕亚洲精品 | 美女张开腿让男人 | 日本女人在线观看 | 久久夜夜视频 | 亚洲人成在线播放网站 | 天天躁日日躁狠狠躁一级毛片 | 5x社区直接进入一区二区三区 | 亚洲国产影院 | 久久综合一本 | 成人午夜影视全部免费看 | 亚洲视频99| 精品国产欧美另类一区 | 114毛片免费观看网站 | 99精品在线 | 真实国产精品视频国产网 |