新聞中心
這篇文章主要講解了“什么是java命名約定”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“什么是java命名約定”吧!
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括綏寧網(wǎng)站建設(shè)、綏寧網(wǎng)站制作、綏寧網(wǎng)頁(yè)制作以及綏寧網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,綏寧網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到綏寧省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
01、包(package)
包的命名應(yīng)該遵守以下規(guī)則:
應(yīng)該全部是小寫字母
點(diǎn)分隔符之間有且僅有一個(gè)自然語(yǔ)義的英語(yǔ)單詞
包名統(tǒng)一使用單數(shù)形式,比如說(shuō) com.itwanger.util 不能是 com.itwanger.utils
在最新的 Java 編程規(guī)范中,要求開(kāi)發(fā)人員在自己定義的包名前加上唯一的前綴。由于互聯(lián)網(wǎng)上的域名是不會(huì)重復(fù)的,所以多數(shù)開(kāi)發(fā)人員采用自己公司(或者個(gè)人博客)在互聯(lián)網(wǎng)上的域名稱作為包的唯一前綴。比如我文章中出現(xiàn)的代碼示例的包名就是 package com.itwanger。
02、類(class)
類的命名應(yīng)該遵守以下規(guī)則:
必須以大寫字母開(kāi)頭
最好是一個(gè)名詞,比如說(shuō) System
類名使用 UpperCamelCase(駝峰式命名)風(fēng)格
盡量不要省略成單詞的首字母,但以下情形例外:DO/BO/DTO/VO/AO/ PO / UID 等
另外,如果是抽象類的話,使用 Abstract 或 Base 開(kāi)頭;如果是異常類的話,使用 Exception 結(jié)尾;如果是測(cè)試類的話,使用 Test 結(jié)尾。
03、接口(interface)
接口的命名應(yīng)該遵守以下規(guī)則:
必須以大寫字母開(kāi)頭
最好是一個(gè)形容詞,比如說(shuō) Runnable
盡量不要省略成單詞的首字母
來(lái)看個(gè)例子:
interface Printable {}
接口和實(shí)現(xiàn)類之間也有一些規(guī)則:
實(shí)現(xiàn)類用 Impl 的后綴與接口區(qū)別,比如說(shuō) CacheServiceImpl 實(shí)現(xiàn) CacheService 接口
或者,AbstractTranslator 實(shí)現(xiàn) Translatable 接口
04、字段(field)和變量(variable)
字段和變量的命名應(yīng)該遵守以下規(guī)則:
必須以小寫字母開(kāi)頭
可以包含多個(gè)單詞,第一個(gè)單詞的首字母小寫,其他的單詞首字母大寫,比如說(shuō) firstName
最好不要使用單個(gè)字符,比如說(shuō) int a,除非是局部變量
類型與中括號(hào)緊挨相連來(lái)表示數(shù)組,比如說(shuō) int[] arrayDemo,main 方法中字符串?dāng)?shù)組參數(shù)不應(yīng)該寫成 String args[]
POJO 類中的任何布爾類型的變量,都不要加 is 前綴,否則部分框架解析會(huì)引起序列化錯(cuò)誤,我自己知道的有 fastjson
避免在子類和父類的成員變量之間、或者不同代碼塊的局部變量之間采用完全相同的命名,使可理解性降低。子類、父類成員變量名相同,即使是 public 類型的變量也能夠通過(guò)編譯,另外,局部變量在同一方法內(nèi)的不同代碼塊中同名也是合法的,這些情況都要避免。
反例:
public class ConfusingName { public int stock; // 非 setter/getter 的參數(shù)名稱,不允許與本類成員變量同名 public void get(String alibaba) { if (condition) { final int money = 666; // ... } for (int i = 0; i < 10; i++) { // 在同一方法體中,不允許與其它代碼塊中的 money 命名相同 final int money = 15978; // ... } } } class Son extends ConfusingName { // 不允許與父類的成員變量名稱相同 public int stock; }
05、常量(constant)
常量的命名應(yīng)該遵守以下規(guī)則:
應(yīng)該全部是大寫字母
可以包含多個(gè)單詞,單詞之間使用“_”連接,比如說(shuō) MAX_PRIORITY,力求語(yǔ)義表達(dá)完整清楚,不要嫌名字長(zhǎng)
可以包含數(shù)字,但不能以數(shù)字開(kāi)頭
來(lái)看個(gè)例子:
static final int MIN_AGE = 18;
06、方法(method)
方法的命名應(yīng)該遵守以下規(guī)則:
必須以小寫字母開(kāi)頭
最好是一個(gè)動(dòng)詞,比如說(shuō) print()
可以包含多個(gè)單詞,第一個(gè)單詞的首字母小寫,其他的單詞首字母大寫,比如說(shuō) actionPerformed()
來(lái)看個(gè)例子:
void writeBook(){}
Service/DAO 層的方法命名規(guī)約:
獲取單個(gè)對(duì)象的方法用 get 做前綴
獲取多個(gè)對(duì)象的方法用 list 做前綴,復(fù)數(shù)結(jié)尾,如:listObjects
獲取統(tǒng)計(jì)值的方法用 count 做前綴
插入的方法用 save/insert 做前綴
刪除的方法用 remove/delete 做前綴
修改的方法用 update 做前綴
感謝各位的閱讀,以上就是“什么是java命名約定”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)什么是java命名約定這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
當(dāng)前名稱:什么是java命名約定
鏈接URL:http://fisionsoft.com.cn/article/pcdpgs.html