午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

java 中常量的定義方式。

瀏覽:287日期:2023-11-12 17:23:56

問(wèn)題描述

public class EnumDome { public static final String SUCCESS = 'Y'; public static final String FAIL = 'N'; enum State{SUCCESS('Y'),FAIL('N');private final String state;State(String state){ this.state = state;}public String getState(){ return state;} }}

這兩種定義常量的方式各有什么特點(diǎn)?在使用過(guò)程中更推薦使用何種方式?

問(wèn)題解答

回答1:

這個(gè)問(wèn)題,從語(yǔ)法層面上來(lái)說(shuō),沒(méi)有什么懸念。百度一下常量和枚舉的區(qū)別就好了。

但是從設(shè)計(jì)角度上來(lái)說(shuō),'enum' 要優(yōu)于 'static final' 的。

這么說(shuō)可能比較抽象,我舉個(gè)例子:比如我定義了一個(gè)公有函數(shù)(更準(zhǔn)確的說(shuō)是公有方法)叫 setResponseState

一種是這樣定義的:setResponseState(String state) { ... },使用字符串作參數(shù)。

一種是這樣定義的:setResponseState(EnumDemo.State state) { ... },使用枚舉作參數(shù)。

對(duì)于第一種定義,正確的調(diào)用方式是:setResponseState(EnumDemo.SUCCESS);

但是如果這么調(diào)用:setResponseState('abcd'); 是不是在 JAVA 語(yǔ)言的語(yǔ)法上也沒(méi)有問(wèn)題呢?

編譯器走到這里還是可以通過(guò)的……但在運(yùn)行期可能會(huì)導(dǎo)致嚴(yán)重的錯(cuò)誤,降低系統(tǒng)的可靠性。

這里的最大問(wèn)題就是 '函數(shù)參數(shù)不夠明確',這會(huì)給使用這個(gè)方法的開(kāi)發(fā)人員造成困擾。他不得不去回查我的源碼,才能最終確定到底要傳一個(gè)什么樣的參數(shù)給我……

而再假如,這個(gè)函數(shù)(方法)被我封裝到一套框架代碼中,不提供源碼,那么開(kāi)發(fā)人員回查起來(lái)就更困難了。這會(huì)降低開(kāi)發(fā)效率。

而使用 setResponseState(EnumDemo.State state) { ... } 這樣的定義方式,是非常明確的。要么是 SUCCESS,要么是 FAIL,再要么是 null。

開(kāi)發(fā)人員調(diào)用這個(gè)函數(shù)(方法)幾乎不會(huì)出錯(cuò),也根本無(wú)需回查源碼。

所以比較嚴(yán)謹(jǐn)?shù)淖龇ㄊ鞘褂妹杜e。當(dāng)然這是在定義公共函數(shù)(方法)的時(shí)候。

而如果 setResponseState 是一個(gè)私有函數(shù)(方法),那么可以稍微隨意一些,使用字符串參數(shù)也是可以的。必定這種 '不嚴(yán)謹(jǐn)' 只暴露給內(nèi)部。

形象一點(diǎn)的,就是對(duì)外我們要顯得非常專業(yè),而對(duì)內(nèi),可以稍微降低一下標(biāo)準(zhǔn)。

這是常量和枚舉的兩個(gè)不同應(yīng)用場(chǎng)景,希望對(duì)你有所幫助……

回答2:

簡(jiǎn)單的說(shuō):只有 static final 是定義常量的方法。 后面那個(gè)不是,不過(guò)功能上是相似的。具體用那個(gè)還是取決于你的需求

深入地說(shuō):貼地址:

Java 語(yǔ)言中 Enum 類型的使用介紹Java枚舉類型(enum)簡(jiǎn)介

標(biāo)簽: java
相關(guān)文章:
主站蜘蛛池模板: 国产精品久久影院 | 日本中文字幕网 | 日韩精品亚洲精品 | 日韩在线视频免费看 | 免费黄色一级 | 久久99免费 | 国产原创在线观看 | 日本女人裸体视频 | 日本黄色a级片 | 成年人视频网址 | 欧美性x x x 久久99精品久久久久久噜噜 | 97蜜桃网 | 啪啪五月天 | 人人超碰人人 | 在线观看黄色小视频 | 国产精品96 | 日本h视频在线观看 | 亚洲永久精品在线观看 | 黄色一级a毛片 | 青青国产 | 欧美精品午夜 | 黄网址在线 | 精品国产乱码久久久久久蜜臀网站 | 国产黄色视 | 欧美日韩一区二区不卡 | 国产精品福利在线观看 | 男女精品视频 | 国产精品自产拍在线观看 | 久久久亚洲一区 | 亚洲国产一区二区三区在线观看 | av一区二区三区 | 亚洲成人免费观看 | 操亚洲美女 | 亚洲另类自拍 | 国产在线精品一区 | 亚洲另类视频 | 欧美另类videoxo高潮 | 天堂岛av | 午夜一级视频 | 日韩欧美www| www.日韩视频|