為了方便大家交流Spark大數據,浪尖建了微信群,目前人數過多,只能通過浪尖或者在群里的朋友拉入群。純技術交流,偶有吹水,但是打廣告,不提醒,直接踢出。有興趣加浪尖微信。
常量使用目的
1,為什么要將常亮提取出來? 2,提取出來怎么定義,定義在interface中,還是class中?有什么區別?
1)常亮提取出來有利於代碼閱讀,而且下次再做這種判斷不用手寫或復制,直接通過常量類就能得到,能夠避免有的地方是username,有的地方是name來判斷同一個邏輯含義相同變量問題。不過我覺得提取出來並不會有利於代碼性能提升武漢托福,因為常量分配在內存的常亮池中,所以內存不會出現多個相同常量字符串。總的來說提取常量主要是為了避免魔法數字和提高代碼可讀性。
2)常亮定義在final的class中,防止被其它類繼承和實例化。定義在interface中性質也是一樣,static final屬性。但是interface看起來就是會被繼承的。
interface中定義常量
采用接口(Interface)的中變量默認為static final的特性。
Enum定義常量
普通類中定義常量
采用了在普通類中使用static final修飾變量的方法。
也可以使用get方法
final class定義常量
推薦,使用final class定義,表面意思更清楚。雖然為了簡單編碼,浪尖采用的是interface。
歡迎關注浪尖的微信公眾號:Spark學習技巧。
推薦閱讀:
Java面試中常問的數據庫方面問題
Java面試知識點解析——JVM篇
面試的角度詮釋Java工程師(二)
文章來源:https://blog.csdn.net/rlnLo2pNEfx9c/article/details/81277528