Java中名詞的解釋

在上一篇中說到了Java的四大特性瘟忱,里面出現(xiàn)了很多名次蚀狰,包括以后學(xué)習(xí)Java中也會出現(xiàn)很多常用到的名次,對初學(xué)者來說可能不知道是什么意思薄疚,或者是對這些刺耳的理解不是特別透徹碧信,這里我就我自己的理解來解釋下這些詞的意思。

在Java中常說某個(gè)包下面的某個(gè)類街夭。那么什么是包呢砰碴?在平時(shí)操作電腦時(shí),我們常江某個(gè)文檔板丽,視頻呈枉,音頻等問價(jià)放在某個(gè)文件夾下,而這個(gè)文件夾在Java中就就叫做包檐什。其實(shí)飽和文件夾在某種意義上來說是等同的,只是在Java中將其叫做包而不叫做文件夾弱卡。

放在包下面的一個(gè)個(gè)并且是以.java結(jié)尾的文件就是類乃正。前面有說道對想是Java程序的核心,而類描述了對象的屬性和對象的行為婶博,類是對象模板【類是對對象的抽象瓮具,對象是對類的實(shí)例化】

類按類型分為普通類,抽象類凡人,接口名党,嵌套類等。按層級分又分為父類和子類

普通類

【訪問修飾符】 class 類名 【implements/extends? 類名】{? }挠轴,其中有一種特殊的類object類传睹,object類是所有類的父類,如果一個(gè)類沒有用extends明確指出繼承于某個(gè)類岸晦,那么它默認(rèn)繼承Object類欧啤。

抽象類

當(dāng)一個(gè)類中沒有足夠的信息描述一個(gè)具體的書屋時(shí),這個(gè)類就是抽象類启上。

語法:【訪問修飾符】 abstract class 類名{? ?}

特點(diǎn):

1邢隧、抽象類不能實(shí)例化

2、抽象類可以擁有構(gòu)造方法

3冈在、抽象類可以聲明實(shí)例變量倒慧,也可以聲明靜態(tài)變量,也可以存在普通方法和靜態(tài)方法,變量在抽象類中可以初始化

4纫谅、抽象類中還可以有抽象方法? 語法:【訪問修飾符】 abstract 返回值類型? 方法名? (【參數(shù)】)炫贤;

5、抽象類抽象方法系宜,有抽象類的子類來實(shí)現(xiàn)

6照激、如果一個(gè)類是抽象類,那么這個(gè)類的不一定有抽象方法盹牧,但如果一個(gè)類有抽象方法俩垃,那么這個(gè)類一定是抽象類

7、如果抽象類的子類沒有吧抽象類中的所有抽象方法實(shí)現(xiàn)汰寓,則子類也需要定義成抽象類口柳,有子類的子類負(fù)責(zé)實(shí)現(xiàn)剩余的抽象方法。

8有滑、普通方法在子類中與普通類一樣跃闹,可以實(shí)現(xiàn)也可以不實(shí)現(xiàn)

接口

就是對外提供了一系列功能的生命(也可以說接口中定義的方法只有方法的生命,沒有方法體)

語法:【訪問修飾符】 interface 接口名? {

    //常量和方法的聲明

}

1publicinterface? demo{2inti=0;3publicvoid? add() ;? ? ? ? 4}

特點(diǎn):

1毛好、接口中聲明的方法沒有方法體望艺,只有方法的聲明

2、接口中聲明的成員屬性都是靜態(tài)的而且都是不可變的肌访,因?yàn)榻涌谥械某蓡T屬性默認(rèn)都是public? static? final 來修飾的

3找默、接口沒有構(gòu)造方法,也不能被實(shí)例化

4吼驶、接口可以實(shí)現(xiàn)多繼承惩激,接口之間用逗號隔開

5、接口中的方法只能被public來修飾蟹演,就算沒有明確的神明訪問修飾符风钻,默認(rèn)也是public

通過implements來實(shí)現(xiàn)接口,語法:

【訪問修飾符】 class? 類名? implements? 接口1酒请,接口2{? ?}

嵌套類

聲明在類的內(nèi)部的類稱之為嵌套類

語法:【訪問修飾符】 class 類名{

      【訪問修飾符】【static】 class? 類名{

      }

  }

分類:內(nèi)部類:非靜態(tài)嵌套類

   靜態(tài)嵌套類:用static修飾的嵌套類

內(nèi)部類:內(nèi)部類作為外部類的一個(gè)成員存在骡技,與外部類的成員變量,成員方法并列

局部內(nèi)部類:在方法體內(nèi)聲明的類羞反,可以訪問他所在方法中的final參數(shù)和final局部變量

靜態(tài)嵌套類中可聲明static成員或非靜態(tài)成員變量哮兰,但只能訪問外部類中的靜態(tài)成員

方法

方法就是實(shí)現(xiàn)某個(gè)功能的代碼塊

方法的定義語法:

1、無返回值無參數(shù)的方法? 【訪問修飾符】 void? 方法名(){ //方法的功能代碼?}

說明:void就是表示該方法是無返回值得(也就是說調(diào)用完該方法不會返回一個(gè)結(jié)果)

2苟弛、無返回值有參數(shù)的方法? ? 【訪問修飾符】? void? 方法名(數(shù)據(jù)類型? ?參數(shù)名喝滞,...){//方法的功能代碼}

說明:方法中的參數(shù)又稱為形參(形式意義的參數(shù)),調(diào)用該方法時(shí)傳遞的數(shù)據(jù)稱為實(shí)參(實(shí)際的數(shù)據(jù))膏秫,傳遞的參數(shù)要和方法中的參數(shù)類型匹配

3右遭、有返回值無參數(shù)的方法? ?【訪問修飾符】? 返回值類型? ?方法名稱(){? ?return? ?返回值做盅;? }

說明:1、返回值類型有放回值來決定

? ? ? ? ? ? 2窘哈、在由返回值得方法的最后一句代碼吹榴,一定是? return? 返回值;滚婉。

4图筹、有返回值有參數(shù)的方法? ? 【訪問修飾符】? 返回值類型? 方法名(參數(shù)列表){? return? ?返回值}

變量

定義:在Java中用來存儲數(shù)據(jù)的元素,而且該元素所存放的數(shù)據(jù)時(shí)可以變化的让腹,所以稱為變量

注意:變量也是標(biāo)識符的一部分

語法:1远剩、變身名變賦值? ?數(shù)據(jù)類型? ?變量名稱=變量值

  ? ? ?2、先聲明后賦值? 數(shù)據(jù)類型? 變量名稱骇窍;變量名稱=變量值瓜晤;

定義變量的四個(gè)步驟:

1、聲明數(shù)據(jù)類型其實(shí)就是為了根據(jù)數(shù)據(jù)類型開辟相應(yīng)的內(nèi)存空間

2腹纳、給變量命名痢掠,其實(shí)就會說為了能夠把變量名和數(shù)據(jù)類型所對應(yīng)的內(nèi)存空間進(jìn)行關(guān)聯(lián)

3、給變量賦值嘲恍,其實(shí)就是把數(shù)據(jù)存放到變量名所對應(yīng)的內(nèi)存空間

4足画、使用變量,其實(shí)就是把變量所對應(yīng)的內(nèi)存空間中的數(shù)據(jù)讀取出來

常量

定義:在程序中他的值是不可變的佃牛,這樣的冤死及時(shí)常量

語法:final? 數(shù)據(jù)類型? 常量名稱=常量值淹辞;

建議:常量名稱一般全部大寫

標(biāo)識符

標(biāo)識符就是類名,方法名吁脱,參數(shù)名桑涎,包名等元素命名時(shí)彬向,所寫的字符序列就統(tǒng)稱為標(biāo)識符

標(biāo)識符的命名規(guī)則:

1兼贡、有字幕,數(shù)字娃胆,下劃線遍希,和$組成

2、不能以數(shù)字開頭

3里烦、嚴(yán)格區(qū)分大小寫

4凿蒜、長度無限制

5、不能是Java的關(guān)鍵字和保留關(guān)鍵字

建議:見名知意

訪問修飾符

在定義類胁黑、屬性废封、方法時(shí)都需要指定訪問修飾符,以此來限定類丧蘸、屬性漂洋、方法的可訪問范圍。Java中的訪問修飾符有以下幾個(gè)關(guān)鍵字:

public:公共。該類或非該類均可訪問

private:私有的刽漂。只有在類的主體中才可以訪問演训。只能修飾屬性和方法,不能修飾類

protected:受保護(hù)贝咙。該類及子類的成員均可以訪問样悟,同一個(gè)包中的類也可以訪問。只能修飾屬性和方法庭猩,不能修飾類

默認(rèn):不使用修飾符论皆。只有相同包中的類才可以訪問

位置private默認(rèn)protectedpublic

同一個(gè)類是是是是

同一個(gè)包內(nèi)的類否是是是

不同保內(nèi)的類否否是是

不同包內(nèi)不同類否否否  是

關(guān)鍵字

在Java中被賦予了一定特殊意義和用途的單詞

保留關(guān)鍵字也是關(guān)鍵字阿浓,只是目前沒有任何的特殊意義和用途,保留使用。

this關(guān)鍵字

使用范圍:this關(guān)鍵字只能使用在沒有被static關(guān)鍵字修飾的方法中

作用:this關(guān)鍵字就會說對當(dāng)類某個(gè)對象的引用(簡單來說就是可以把this看做當(dāng)前類的一個(gè)對象丈挟,哪個(gè)對象調(diào)用當(dāng)前的方法,this關(guān)鍵字就指向該對象)

【當(dāng)局部變量和成員變量完全一致時(shí)伊约,以局部變量為主田绑,即就近原則】

用法:

1、當(dāng)方法中的參數(shù)名或變量名和成員變量完全一致時(shí)于样,可以通過this關(guān)鍵字來區(qū)分作用域

2疏叨、當(dāng)this關(guān)鍵字以this(參數(shù)列表)的形式,出現(xiàn)在構(gòu)造方法的第一句時(shí)穿剖,就表示當(dāng)前構(gòu)造方法調(diào)用了該類中其他的構(gòu)造方法蚤蔓。

final關(guān)鍵字

1、final修飾的變量等同于常量糊余,一旦賦值就無法更改(是指引用變量不能變秀又,引用變量所指向的對象的內(nèi)容還是可以改變的)

【final無論修飾全局變量還是局部變量,在定義時(shí)都必修要初始化才能使用】

2贬芥、final修飾方法中的參數(shù)稱為最終參數(shù)吐辙,在方法體中同樣也不能為最終參數(shù)重新賦值

3、final修飾類蘸劈,該類不能被繼承

4昏苏、final修飾的方法,不能被重寫

staitic關(guān)鍵字

static可以修飾變量威沫,方法贤惯,代碼塊

static修飾變量,也稱為類變量棒掠,因?yàn)閟tatic關(guān)鍵字修飾的變量孵构,方法,代碼塊都屬于類烟很,而不屬于某個(gè)對象

【實(shí)例變量:沒有被static修飾的成員屬性或方法都屬于某個(gè)對象颈墅,也叫做實(shí)例屬性或?qū)嵗椒ò艏伲瑢ο蟠嬖诹耍艜袑?shí)例變量開辟空間】

static修飾的屬相精盅、方法可以通過:類名.屬性名或l類名.方法(參數(shù))的形式來調(diào)用

特點(diǎn):

1帽哑、靜態(tài)方法中只能訪問靜態(tài)方法和靜態(tài)的成員變量

2、在非靜態(tài)方法中叹俏,既可以訪問非靜態(tài)的方法妻枕、屬性,也可以訪問靜態(tài)屬性和靜態(tài)方法

3粘驰、在靜態(tài)方法中不能使用this和supper關(guān)鍵字屡谐,因?yàn)閠his和supper表示對對象的引用,而static修飾的方法是屬于類蝌数,所以在語法上存在一定的沖突

靜態(tài)代碼塊:靜態(tài)代碼塊只能出現(xiàn)在類的內(nèi)部愕掏,任何方法的外部

靜態(tài)代碼塊語法:static{? ?}

靜態(tài)代碼塊作用:就是給靜態(tài)的成員屬性進(jìn)行初始化

靜態(tài)代碼塊的優(yōu)先級比構(gòu)造方法的優(yōu)先級高

方法中參數(shù)的傳遞

在Java中無論是基本數(shù)據(jù)類型還是引用數(shù)據(jù)類型,在進(jìn)行參數(shù)的傳遞時(shí)顶伞,都是采用的值傳遞(也就是傳遞的都是具體的數(shù)據(jù))

基本數(shù)據(jù)類型在進(jìn)行參數(shù)傳遞時(shí)饵撑,傳遞的值是副本,也就是說當(dāng)把當(dāng)前數(shù)據(jù)復(fù)制一份唆貌,然后再進(jìn)行穿絲滑潘,所以目標(biāo)方法中,對參數(shù)進(jìn)行修改锨咙,這個(gè)值得本身是沒有任何變化的

引用數(shù)據(jù)類型字進(jìn)行參數(shù)的傳遞時(shí)语卤,傳遞的是數(shù)據(jù)所在的內(nèi)存地址,所以在目標(biāo)方法中酪刀,對參數(shù)進(jìn)行修改粹舵,這個(gè)值本身也會發(fā)生相應(yīng)的變化

向上轉(zhuǎn)型和向下轉(zhuǎn)型

向上轉(zhuǎn)型:把一個(gè)子類的對象,賦值給父類骂倘,就會把該對象當(dāng)做父類對象來用

動態(tài)(延遲)綁定機(jī)制:在程序運(yùn)行期間眼滤,會根據(jù)對象的真正的創(chuàng)建者來決定調(diào)用那個(gè)方法

發(fā)生動態(tài)綁定機(jī)制的條件:1、繼承? 2稠茂、重寫? ?3柠偶、向上轉(zhuǎn)型? 4情妖、用向上轉(zhuǎn)型的對象調(diào)用被子類重寫的方法

向下轉(zhuǎn)型:把一個(gè)父類對象睬关,復(fù)制給某個(gè)子類,需要加上強(qiáng)制轉(zhuǎn)換符

向下轉(zhuǎn)型一定是在向上轉(zhuǎn)型的基礎(chǔ)上類型的還原

向下轉(zhuǎn)型調(diào)用子類中的沒有重寫的方法

可以通過instanceof關(guān)鍵字來判斷某個(gè)獨(dú)享是否屬于某各類 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??歡迎工作一到五年的Java工程師朋友們加入Java群:?741514154

群內(nèi)提供免費(fèi)的Java架構(gòu)學(xué)習(xí)資料(里面有高可用毡证、高并發(fā)电爹、高性能及分布式、Jvm性能調(diào)優(yōu)料睛、Spring源碼丐箩,MyBatis摇邦,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個(gè)知識點(diǎn)的架構(gòu)資料)合理利用自己每一分每一秒的時(shí)間來學(xué)習(xí)提升自己,不要再用"沒有時(shí)間“來掩飾自己思想上的懶惰屎勘!趁年輕施籍,使勁拼,給未來的自己一個(gè)交代概漱!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丑慎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子瓤摧,更是在濱河造成了極大的恐慌竿裂,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件照弥,死亡現(xiàn)場離奇詭異腻异,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)这揣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門悔常,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人给赞,你說我怎么就攤上這事这嚣。” “怎么了塞俱?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵姐帚,是天一觀的道長。 經(jīng)常有香客問我障涯,道長罐旗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任唯蝶,我火速辦了婚禮九秀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粘我。我一直安慰自己鼓蜒,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布征字。 她就那樣靜靜地躺著都弹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匙姜。 梳的紋絲不亂的頭發(fā)上畅厢,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機(jī)與錄音氮昧,去河邊找鬼框杜。 笑死浦楣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的咪辱。 我是一名探鬼主播振劳,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼油狂!你這毒婦竟也來了澎迎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤选调,失蹤者是張志新(化名)和其女友劉穎夹供,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仁堪,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哮洽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弦聂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸟辅。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖莺葫,靈堂內(nèi)的尸體忽然破棺而出匪凉,到底是詐尸還是另有隱情,我是刑警寧澤捺檬,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布再层,位于F島的核電站,受9級特大地震影響堡纬,放射性物質(zhì)發(fā)生泄漏聂受。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一烤镐、第九天 我趴在偏房一處隱蔽的房頂上張望蛋济。 院中可真熱鬧,春花似錦炮叶、人聲如沸碗旅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽祟辟。三九已至,卻和暖如春积瞒,著一層夾襖步出監(jiān)牢的瞬間川尖,已是汗流浹背登下。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工茫孔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叮喳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓缰贝,卻偏偏與公主長得像馍悟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子剩晴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容