摘要:今日份重點(diǎn)命名規(guī)范注釋關(guān)鍵字關(guān)鍵字總結(jié)命名規(guī)范規(guī)范的包名名字管理是所有編程語(yǔ)言都必須重視的一個(gè)問(wèn)題。比如說(shuō)百度,其域名為,那么其對(duì)應(yīng)的應(yīng)用的包名前綴就應(yīng)該為。是誰(shuí)這么大牌總結(jié)本文主要介紹了中的命名規(guī)范注解關(guān)鍵字關(guān)鍵字等內(nèi)容。
歡迎關(guān)注我的微信公眾號(hào),共同打牢Java的基礎(chǔ),向著遠(yuǎn)方進(jìn)擊
本文作為構(gòu)建第一個(gè)Java程序的番外篇二,主要跟大家伙兒從淺層次的探討下Java中的關(guān)鍵字import和static,此外為了讓我們的代碼可讀性更強(qiáng),必要的包和代碼的命名規(guī)范是必須的。今日份重點(diǎn)
命名規(guī)范
注釋
static關(guān)鍵字
import關(guān)鍵字
總結(jié)
命名規(guī)范名字管理是所有編程語(yǔ)言都必須重視的一個(gè)問(wèn)題。
Java為了解決命名沖突,建議開(kāi)發(fā)者反過(guò)來(lái)使用當(dāng)前應(yīng)用所歸屬的Internet域名來(lái)作為包名的前綴。比如說(shuō)百度,其域名為baidu.com,那么其對(duì)應(yīng)的應(yīng)用的包名前綴就應(yīng)該為com.baidu...。包名格式一般為:
前綴.應(yīng)用名稱(chēng).所有者.分層信息
如百度的搜索業(yè)務(wù),假如其所有者為tony,當(dāng)前為service層,則當(dāng)前的包名理論上應(yīng)該為:com.baidu.search.tony.service,其中的.代表目錄分層,按照當(dāng)前包名,你應(yīng)該得到一個(gè)如com/baidu/search/tony/service的目錄結(jié)構(gòu):
注意:包名要求全小寫(xiě)哦
首字母大寫(xiě)
如有由多個(gè)單詞組成,則每個(gè)單詞的首字母大寫(xiě)
變量和方法名
首字母小寫(xiě)
如果由多個(gè)單詞組成,則除首個(gè)單詞外其他單詞的首字母大寫(xiě)
常量
全部大寫(xiě)
名字只能由字母、數(shù)字、$符號(hào)、下劃線(xiàn)_、組成
不能以數(shù)字開(kāi)頭
不能使用Java中的關(guān)鍵字
不能出現(xiàn)中文及拼音(國(guó)際化)
注釋注釋就是故事中的旁白,告訴你前因后果,但卻從來(lái)不出現(xiàn)在熒幕上。
Java中支持兩種風(fēng)格的注釋
以/*開(kāi)始,以后*/結(jié)束,用于代碼塊注釋?zhuān)渥⑨屪饔檬强缧械?/p>
/*這是一個(gè)注釋的示例 這種注釋的作用是跨行的 我可以干掉一整片*/
以//開(kāi)始,沒(méi)有結(jié)束符號(hào),用于代碼行注釋?zhuān)渥⑨屪饔檬切袃?nèi)的
//我只能干掉一行
以上是兩種基本的注釋方式。在Java中,有把自己提供的接口發(fā)布出去的需求,因此可能需要生成JavaDoc文件。為了簡(jiǎn)便生成JavaDoc的流程,先簡(jiǎn)單介紹一種接口的注釋?zhuān)湟?b>/**開(kāi)頭,以*/結(jié)尾:
/** * 這是一個(gè)獲取數(shù)據(jù)的接口,這里做一個(gè)接口注釋的范例 * @param id 這是id屬性的說(shuō)明 * @param name 這是name屬性的說(shuō)明 * @return 沒(méi)有返回值 */ public void getData(Integer id, String name){}
以上示范的是接口注釋的使用,其中的@param用于說(shuō)明接口參數(shù),@return用于說(shuō)明接口返回值。這些在后面會(huì)詳細(xì)講,這里只做簡(jiǎn)單了解。
static關(guān)鍵字只有在執(zhí)行了new操作的時(shí)候,數(shù)據(jù)存儲(chǔ)空間才被分配,類(lèi)的方法才可以提供給外部使用。
在Java中,static關(guān)鍵字用于把屬性或方法從對(duì)象中剝離出來(lái)。意味著,按照慣例,類(lèi)必須實(shí)例化(即使用new關(guān)鍵詞新建對(duì)象)后,才能訪問(wèn)其屬性和方法,而使用了static之后,即使類(lèi)沒(méi)有實(shí)例化,我同樣可以訪問(wèn)。
static關(guān)鍵字以下特性:
與對(duì)象無(wú)關(guān),調(diào)用方法直接使用類(lèi)名.方法名,調(diào)用屬性則使用類(lèi)名.屬性名,當(dāng)然,以前的調(diào)用方式還是保留的,你仍然可以使用對(duì)象來(lái)調(diào)用
static修飾的屬性,無(wú)論創(chuàng)建多少個(gè)對(duì)象,在內(nèi)存中都只有一份存儲(chǔ)空間
static修飾的方法不能調(diào)用非static修飾的屬性或方法,反之則可以
static修飾的類(lèi),必然是靜態(tài)內(nèi)部類(lèi)
static關(guān)鍵字的放置位置,一般是在類(lèi)的class關(guān)鍵字前;或在屬性的類(lèi)型前,或在方法的返回類(lèi)型前:
public class TypeName{ //屬性 public static String s = "Hello World"; //方法 public static void main(String [] args) { System.out.println(s); } //類(lèi) public static class Inner {} }
關(guān)于static關(guān)鍵字,在后面的內(nèi)容中會(huì)深入分析,這里只做簡(jiǎn)單介紹。
import關(guān)鍵字眾人拾柴火焰高,我們不僅僅要自己寫(xiě)代碼,還要復(fù)用別人的代碼。
Java是開(kāi)源的,因此存在大量附生的開(kāi)源項(xiàng)目可以供我們使用,Java提供了import關(guān)鍵字用于幫助我們引用別人提供的類(lèi)或方法。import引入的內(nèi)容,需要放在代碼頭部
如使用import java.util.ArrayList;,你向編譯器發(fā)出了要使用ArrayList類(lèi)的信號(hào),其在編譯時(shí)就會(huì)自動(dòng)定位到這個(gè)類(lèi)。如果你想引用同一個(gè)包中的多個(gè)類(lèi),那么試試import java.util.*,這里用了*來(lái)匹配java.util包下的所有類(lèi)。
還有一種情況,可能你會(huì)在當(dāng)前類(lèi)中多次用到某個(gè)類(lèi)的某個(gè)靜態(tài)方法或?qū)傩?,那么你可以試試這樣引入:import static java.util.stream.Collectors.*,這里直接把Colloctors類(lèi)靜態(tài)引入,注意后面的*,它表示引入該類(lèi)下所有可見(jiàn)的靜態(tài)的方法和屬性,這樣你在調(diào)用的時(shí)候,就更簡(jiǎn)便了。比如說(shuō)你要調(diào)用Collectors.toSet()的時(shí)候,你就可以直接寫(xiě)toSet()就可以啦!是不是很方便呢?
記住哦,在Java中有個(gè)比較特別的包,它是默認(rèn)引入的,不需要我們顯式引入。是誰(shuí)這么大牌?java.lang.*;
總結(jié)本文主要介紹了Java中的命名規(guī)范、注解、import關(guān)鍵字、static關(guān)鍵字等內(nèi)容。其中,命名規(guī)范能極大提高代碼的可讀性,在實(shí)際的協(xié)同工作中,能讓同事更快地明白你代碼表達(dá)的意思。代碼注解則是你對(duì)代碼的說(shuō)明,于己于人都是有益的。我們不會(huì)每天都接觸同一段代碼,注釋則幫助我們記憶代碼中的重點(diǎn)。import關(guān)鍵字用于引入當(dāng)前包之外的其他類(lèi),幫助我們擴(kuò)展程序和復(fù)用代碼。static關(guān)鍵字則是Java中非常重要的一個(gè)關(guān)鍵字,在后續(xù)還會(huì)繼續(xù)深入探討,理清它的特性,對(duì)我們編寫(xiě)代碼,排除bug有很大的益處。
對(duì),你學(xué)到了一個(gè)新詞,bug,后面,它會(huì)教你做人!
下一節(jié),我們開(kāi)始運(yùn)用這些只是來(lái)編寫(xiě)我們的第一個(gè)Java程序!期待著吧!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/73248.html
摘要:在中怎么安裝編者的電腦為位,因此以為例向大家展示的安裝過(guò)程。第三步設(shè)置環(huán)境變量一般安裝完成后,都會(huì)進(jìn)行環(huán)境變量設(shè)置,目的是讓系統(tǒng)能夠找到和命令。生命不止,學(xué)習(xí)不休加油 他山之石,可以攻玉!歡迎關(guān)注我的微信公眾號(hào)showImg(https://segmentfault.com/img/bVboaBO?w=129&h=129); 本文作為構(gòu)建第一個(gè)Java程序的番外篇一,跟大家探討下在Wi...
摘要:構(gòu)造函數(shù)定義偵探類(lèi)作為例子。里的既是類(lèi)的定義,也是構(gòu)造函數(shù)。在構(gòu)造函數(shù)中定義的實(shí)例方法和屬性在每一個(gè)實(shí)例中都會(huì)保留一份,而在原型中定義的實(shí)例方法和屬性是全部實(shí)例只有一份。 無(wú)論React還是RN都已經(jīng)邁入了ES6的時(shí)代,甚至憑借Babel的支持都進(jìn)入了ES7。ES6內(nèi)容很多,本文主要講解類(lèi)相關(guān)的內(nèi)容。 構(gòu)造函數(shù) 定義偵探類(lèi)作為例子。 ES5的類(lèi)是如何定義的。 function ES5D...
摘要:通過(guò)配置規(guī)則和單位使用或來(lái)解決。其他關(guān)于我個(gè)人的一系列學(xué)習(xí)介紹及總結(jié)有興趣可以參閱自學(xué)筆記一安裝使用篇自學(xué)筆記二插件篇自學(xué)筆記二番外篇一自學(xué)筆記二番外篇二 利用PostCSS解決移動(dòng)端REM適配問(wèn)題 上一期有提到結(jié)合postcss-px2rem插件來(lái)處理移動(dòng)端適配的方案,以及相關(guān)的避坑方法,之后總覺(jué)得這個(gè)解決方案問(wèn)題太多,也就誕生了另一套方案運(yùn)用postcss-pxtorem插件來(lái)進(jìn)行...
摘要:前言我們?cè)谏钊霚\出面向?qū)ο蠛驮透拍钇谶@篇文章中了解到了如何使用解決重復(fù)創(chuàng)建浪費(fèi)內(nèi)存的問(wèn)題,其中的關(guān)鍵就是,那么這篇文章讓我們來(lái)重新了解的前世今生一個(gè)苦逼年級(jí)主任的故事開(kāi)學(xué)啦高一年級(jí)主任龔主任需要為全年級(jí)每一位理科班新生錄入學(xué)號(hào)并為每一位 前言 我們?cè)谏钊霚\出面向?qū)ο蠛驮汀靖拍钇?】在這篇文章中了解到了如何使用new Function解決重復(fù)創(chuàng)建浪費(fèi)內(nèi)存的問(wèn)題,其中的關(guān)鍵就是new...
閱讀 1183·2021-11-16 11:42
閱讀 2966·2021-10-12 10:18
閱讀 2904·2021-09-24 09:48
閱讀 3528·2019-08-30 15:56
閱讀 1592·2019-08-30 14:17
閱讀 3094·2019-08-29 12:14
閱讀 967·2019-08-27 10:51
閱讀 2080·2019-08-26 13:28