您好,登錄后才能下訂單哦!
這篇文章主要講解了“什么是java命名約定”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“什么是java命名約定”吧!
01、包(package)
包的命名應該遵守以下規則:
應該全部是小寫字母
點分隔符之間有且僅有一個自然語義的英語單詞
包名統一使用單數形式,比如說 com.itwanger.util 不能是 com.itwanger.utils
在最新的 Java 編程規范中,要求開發人員在自己定義的包名前加上唯一的前綴。由于互聯網上的域名是不會重復的,所以多數開發人員采用自己公司(或者個人博客)在互聯網上的域名稱作為包的唯一前綴。比如我文章中出現的代碼示例的包名就是 package com.itwanger。
02、類(class)
類的命名應該遵守以下規則:
必須以大寫字母開頭
最好是一個名詞,比如說 System
類名使用 UpperCamelCase(駝峰式命名)風格
盡量不要省略成單詞的首字母,但以下情形例外:DO/BO/DTO/VO/AO/ PO / UID 等
另外,如果是抽象類的話,使用 Abstract 或 Base 開頭;如果是異常類的話,使用 Exception 結尾;如果是測試類的話,使用 Test 結尾。
03、接口(interface)
接口的命名應該遵守以下規則:
必須以大寫字母開頭
最好是一個形容詞,比如說 Runnable
盡量不要省略成單詞的首字母
來看個例子:
interface Printable {}
接口和實現類之間也有一些規則:
實現類用 Impl 的后綴與接口區別,比如說 CacheServiceImpl 實現 CacheService 接口
或者,AbstractTranslator 實現 Translatable 接口
04、字段(field)和變量(variable)
字段和變量的命名應該遵守以下規則:
必須以小寫字母開頭
可以包含多個單詞,第一個單詞的首字母小寫,其他的單詞首字母大寫,比如說 firstName
最好不要使用單個字符,比如說 int a,除非是局部變量
類型與中括號緊挨相連來表示數組,比如說 int[] arrayDemo,main 方法中字符串數組參數不應該寫成 String args[]
POJO 類中的任何布爾類型的變量,都不要加 is 前綴,否則部分框架解析會引起序列化錯誤,我自己知道的有 fastjson
避免在子類和父類的成員變量之間、或者不同代碼塊的局部變量之間采用完全相同的命名,使可理解性降低。子類、父類成員變量名相同,即使是 public 類型的變量也能夠通過編譯,另外,局部變量在同一方法內的不同代碼塊中同名也是合法的,這些情況都要避免。
反例:
public class ConfusingName { public int stock; // 非 setter/getter 的參數名稱,不允許與本類成員變量同名 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)
常量的命名應該遵守以下規則:
應該全部是大寫字母
可以包含多個單詞,單詞之間使用“_”連接,比如說 MAX_PRIORITY,力求語義表達完整清楚,不要嫌名字長
可以包含數字,但不能以數字開頭
來看個例子:
static final int MIN_AGE = 18;
06、方法(method)
方法的命名應該遵守以下規則:
必須以小寫字母開頭
最好是一個動詞,比如說 print()
可以包含多個單詞,第一個單詞的首字母小寫,其他的單詞首字母大寫,比如說 actionPerformed()
來看個例子:
void writeBook(){}
Service/DAO 層的方法命名規約:
獲取單個對象的方法用 get 做前綴
獲取多個對象的方法用 list 做前綴,復數結尾,如:listObjects
獲取統計值的方法用 count 做前綴
插入的方法用 save/insert 做前綴
刪除的方法用 remove/delete 做前綴
修改的方法用 update 做前綴
感謝各位的閱讀,以上就是“什么是java命名約定”的內容了,經過本文的學習后,相信大家對什么是java命名約定這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。