內(nèi)部類

內(nèi)部類
4.1 內(nèi)部類概念
? 什么是內(nèi)部類
將類寫(xiě)在其他類的內(nèi)部耗拓,可以寫(xiě)在其他類的成員位置和局部位置者春,這時(shí)寫(xiě)在其他類內(nèi)部的類就稱為內(nèi)部類栅隐。其他類也稱為外部類膘侮。
? 什么時(shí)候使用內(nèi)部類
在描述事物時(shí)屈糊,若一個(gè)事物內(nèi)部還包含其他可能包含的事物,比如在描述汽車時(shí)琼了,汽車中還包含這發(fā)動(dòng)機(jī)逻锐,這時(shí)發(fā)動(dòng)機(jī)就可以使用內(nèi)部類來(lái)描述。
class 汽車 { //外部類
class 發(fā)動(dòng)機(jī) { //內(nèi)部類
}
}
? 內(nèi)部類的分類
內(nèi)部類分為成員內(nèi)部類與局部?jī)?nèi)部類雕薪。
我們定義內(nèi)部類時(shí)昧诱,就是一個(gè)正常定義類的過(guò)程,同樣包含各種修飾符所袁、繼承與實(shí)現(xiàn)關(guān)系等盏档。在內(nèi)部類中可以直接訪問(wèn)外部類的所有成員。
4.2 成員內(nèi)部類
成員內(nèi)部類燥爷,定義在外部類中的成員位置蜈亩。與類中的成員變量相似,可通過(guò)外部類對(duì)象進(jìn)行訪問(wèn)
? 定義格式
class 外部類 {
修飾符 class 內(nèi)部類 {
//其他代碼
}
}
? 訪問(wèn)方式
外部類名.內(nèi)部類名 變量名 = new 外部類名().new 內(nèi)部類名();

? 成員內(nèi)部類代碼演示
定義類
class Body {//外部類前翎,身體
private boolean life= true; //生命狀態(tài)
public class Heart { //內(nèi)部類稚配,心臟
public void jump() {
System.out.println("心臟噗通噗通的跳")
System.out.println("生命狀態(tài)" + life); //訪問(wèn)外部類成員變量
}
}
}

訪問(wèn)內(nèi)部類
public static void main(String[] args) {
//創(chuàng)建內(nèi)部類對(duì)象
Body.Heart bh = new Body().new Heart();
//調(diào)用內(nèi)部類中的方法
bh.jump();
}
4.3 局部?jī)?nèi)部類
局部?jī)?nèi)部類,定義在外部類方法中的局部位置港华。與訪問(wèn)方法中的局部變量相似道川,可通過(guò)調(diào)用方法進(jìn)行訪問(wèn)
? 定義格式
class 外部類 {
修飾符 返回值類型 方法名(參數(shù)) {
class 內(nèi)部類 {
//其他代碼
}
}
}
? 訪問(wèn)方式
在外部類方法中,創(chuàng)建內(nèi)部類對(duì)象立宜,進(jìn)行訪問(wèn)

? 局部?jī)?nèi)部類代碼演示
定義類
class Party {//外部類冒萄,聚會(huì)
public void puffBall(){// 吹氣球方法
class Ball {// 內(nèi)部類,氣球
public void puff(){
System.out.println("氣球膨脹了");
}
}
//創(chuàng)建內(nèi)部類對(duì)象橙数,調(diào)用puff方法
new Ball().puff();
}
}

訪問(wèn)內(nèi)部類
public static void main(String[] args) {
//創(chuàng)建外部類對(duì)象
Party p = new Party();
//調(diào)用外部類中的puffBall方法
p.puffBall();
}

4.4 內(nèi)部類的實(shí)際使用——匿名內(nèi)部類
4.4.1 匿名內(nèi)部類概念
內(nèi)部類是為了應(yīng)對(duì)更為復(fù)雜的類間關(guān)系晃酒。查看源代碼中會(huì)涉及到啤咽,而在日常業(yè)務(wù)中很難遇到,這里不做贅述。
最常用到的內(nèi)部類就是匿名內(nèi)部類劣砍,它是局部?jī)?nèi)部類的一種宇立。
定義的匿名內(nèi)部類有兩個(gè)含義:
? 臨時(shí)定義某一指定類型的子類
? 定義后即刻創(chuàng)建剛剛定義的這個(gè)子類的對(duì)象
4.4.2 定義匿名內(nèi)部類的作用與格式
作用:匿名內(nèi)部類是創(chuàng)建某個(gè)類型子類對(duì)象的快捷方式黔帕。
格式:
new 父類或接口(){
//進(jìn)行方法重寫(xiě)
};

? 代碼演示
//已經(jīng)存在的父類:
public abstract class Person{
public abstract void eat();
}
//定義并創(chuàng)建該父類的子類對(duì)象确憨,并用多態(tài)的方式賦值給父類引用變量
Person p = new Person(){
public void eat() {
System.out.println(“我吃了”);
}
};
//調(diào)用eat方法
p.eat();
使用匿名對(duì)象的方式,將定義子類與創(chuàng)建子類對(duì)象兩個(gè)步驟由一個(gè)格式一次完成瞪醋,忿晕。雖然是兩個(gè)步驟,但是兩個(gè)步驟是連在一起完成的银受。
匿名內(nèi)部類如果不定義變量引用践盼,則也是匿名對(duì)象鸦采。代碼如下:
new Person(){
public void eat() {
System.out.println(“我吃了”);
}
}.eat();

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市咕幻,隨后出現(xiàn)的幾起案子渔伯,更是在濱河造成了極大的恐慌,老刑警劉巖肄程,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锣吼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蓝厌,警方通過(guò)查閱死者的電腦和手機(jī)玄叠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拓提,“玉大人读恃,你說(shuō)我怎么就攤上這事〈” “怎么了寺惫?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蹦疑。 經(jīng)常有香客問(wèn)我肌蜻,道長(zhǎng),這世上最難降的妖魔是什么必尼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮篡撵,結(jié)果婚禮上判莉,老公的妹妹穿的比我還像新娘。我一直安慰自己育谬,他們只是感情好券盅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著膛檀,像睡著了一般锰镀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咖刃,一...
    開(kāi)封第一講書(shū)人閱讀 51,718評(píng)論 1 305
  • 那天泳炉,我揣著相機(jī)與錄音,去河邊找鬼嚎杨。 笑死花鹅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的枫浙。 我是一名探鬼主播刨肃,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼古拴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了真友?” 一聲冷哼從身側(cè)響起黄痪,我...
    開(kāi)封第一講書(shū)人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎盔然,沒(méi)想到半個(gè)月后桅打,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轻纪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年油额,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻帚。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡潦嘶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出崇众,到底是詐尸還是另有隱情掂僵,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布顷歌,位于F島的核電站锰蓬,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏眯漩。R本人自食惡果不足惜芹扭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赦抖。 院中可真熱鬧舱卡,春花似錦、人聲如沸队萤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)要尔。三九已至舍杜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赵辕,已是汗流浹背既绩。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留匆帚,地道東北人熬词。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親互拾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子歪今,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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

  • Java 內(nèi)部類 分四種:成員內(nèi)部類、局部?jī)?nèi)部類颜矿、靜態(tài)內(nèi)部類和匿名內(nèi)部類寄猩。 1、成員內(nèi)部類: 即作為外部類的一個(gè)成...
    ikaroskun閱讀 1,232評(píng)論 0 13
  • [toc] 內(nèi)部類 內(nèi)部類作為外部類的成員骑疆,可以使用人已訪問(wèn)控制符修飾田篇。 外部類的上一級(jí)程序單元是包,所以只有兩個(gè)...
    卡路fly閱讀 310評(píng)論 0 2
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理箍铭,服務(wù)發(fā)現(xiàn)泊柬,斷路器,智...
    卡卡羅2017閱讀 134,665評(píng)論 18 139
  • 內(nèi)部類: 在一個(gè)類里面還有一個(gè)類诈火,Outer外部類兽赁、Inner內(nèi)部類 內(nèi)部類的訪問(wèn)規(guī)則: 內(nèi)部類可以直接訪問(wèn)外部類...
    kiyoko_pq閱讀 191評(píng)論 0 0
  • 內(nèi)部類基礎(chǔ) 1 定義將一個(gè)類定義在另一個(gè)類里面或者一個(gè)方法里面,這樣的類稱為內(nèi)部類冷守。 2 分類廣泛意義上的內(nèi)部類一...
    paulpaullong閱讀 344評(píng)論 0 1