大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Javase基礎(chǔ)-內(nèi)部類,內(nèi)涵全套免費(fèi)視頻教程

Javase基礎(chǔ)-內(nèi)部類,內(nèi)涵全套免費(fèi)視頻教程

更新時(shí)間:2020-02-05 09:19:58 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2625次


Javase基礎(chǔ)-內(nèi)部類,內(nèi)涵全套免費(fèi)視頻教程


  內(nèi)部類


  可以將一個(gè)類定義放在另一個(gè)類的定義內(nèi)部,這就是內(nèi)部類。


  創(chuàng)建內(nèi)部類


  如果想從外部類的非靜態(tài)方法之外的任意位置創(chuàng)建某個(gè)內(nèi)部類的對(duì)象,那么必須具體地指明這個(gè)對(duì)象的類型:OuterClassName.InnerClassName(外部類名.內(nèi)部類名)。


  鏈接到外部類


  當(dāng)生成一個(gè)內(nèi)部類的對(duì)象時(shí),此對(duì)象與制造它的外圍對(duì)象之間就有了一種聯(lián)系,所以它能訪問其外為對(duì)象的所有成員,而不需要任何特殊條件。此外,內(nèi)部類還擁有其外圍類的所有元素的訪問權(quán)。


  所有內(nèi)部類自動(dòng)擁有對(duì)其外圍類所有成員的訪問權(quán)。這是如何做到的呢?當(dāng)某個(gè)外圍類的對(duì)象創(chuàng)建了一個(gè)內(nèi)部類對(duì)象時(shí),此內(nèi)部類對(duì)象必定會(huì)秘密地捕獲一個(gè)指向那個(gè)外圍類對(duì)象的引用。然后,在你訪問此外圍類的成員時(shí),就是用那個(gè)引用來選擇外圍類的成員。幸運(yùn)的是,編譯器會(huì)幫你處理所有的細(xì)節(jié),但你現(xiàn)在可以看到:內(nèi)部類的對(duì)象只能在與其外圍類的對(duì)象相關(guān)聯(lián)的情況下才能被創(chuàng)建(就像你應(yīng)該看到的,在內(nèi)部類是非static類時(shí))。構(gòu)建內(nèi)部類對(duì)象時(shí),需要一個(gè)指向其外圍類對(duì)象的引用,如果編譯器訪問不到這個(gè)引用就會(huì)報(bào)錯(cuò)。不過絕大多數(shù)時(shí)候這都無需程序員操心。


  使用.this與.new


  如果你需要生成外部類對(duì)象的引用,可以使用外部類的名字后面緊跟遠(yuǎn)點(diǎn)和this。


  publicclassDotThis{


  voidf(){System.out.println("DotThis.f()");}


  publicclassInner{


  publicDotThisouter(){


  returnDotThis.this;


  }


  }


  publicInnerinner(){


  returnnewInner();


  }


  publicstaticvoidmain(String[]args){


  DotThisdt=newDotThis();


  DotThis.Innerin=dt.inner();


  in.outer().f();


  }


  }


  要?jiǎng)?chuàng)建某個(gè)內(nèi)部類的對(duì)象,你必須在new表達(dá)式中提供其他外部類的對(duì)象的引用個(gè),這里需要使用.new方法。


  publicclassDotNew{


  publicclassInner{


  publicintf(){


  return11;


  }


  }


  publicstaticvoidmain(String[]args){


  DotNewdt=newDotNew();


  DotNew.Innerin=dt.newInner();


  System.out.println(in.f());


  }


  }


  由上可以總結(jié)出創(chuàng)建內(nèi)部類對(duì)象有兩種途徑:


  1)在內(nèi)部類創(chuàng)建一個(gè)方法,該方法指向內(nèi)部類的一個(gè)引用,如代碼一中的inner()方法:


  publicInnerinner(){


  returnnewInner();


  }


  2)使用.new創(chuàng)建一個(gè)內(nèi)部類對(duì)象,如代碼二中:


  DotNewdt=newDotNew();


  DotNew.Innerin=dt.newInner();


  內(nèi)部類與向上轉(zhuǎn)型


  當(dāng)將內(nèi)部類向上轉(zhuǎn)型為其基類,尤其是轉(zhuǎn)型為一個(gè)接口的時(shí)候,內(nèi)部類就有了用武之地。(從實(shí)現(xiàn)了某個(gè)接口的對(duì)象,得到對(duì)此接口的引用,與向上轉(zhuǎn)型為這個(gè)對(duì)象的基類,實(shí)質(zhì)上效果是一樣的。)這是因?yàn)榇藘?nèi)部類----某個(gè)接口的實(shí)現(xiàn)----能夠完全不可見,并且不可用。所得到的只是指向基類或者接口的引用,所以能夠很方便地隱藏實(shí)現(xiàn)細(xì)節(jié)。


  如果客戶端程序員想了解或訪問這些成員,那是要受到限制的。實(shí)際上,甚至不能向下轉(zhuǎn)型成為private內(nèi)部類(或protected內(nèi)部類,除非是繼承自它的子類),因?yàn)椴荒茉L問其名字,就像在TestParcel類中看到的那樣。于是,private內(nèi)部類給類的設(shè)計(jì)者提供了一種途徑,通過這種方式可以完全阻止任何依賴于類型的編碼,并且完全隱藏了實(shí)現(xiàn)的細(xì)節(jié)


  可以在一個(gè)方法里面或者在任意的作用域定義內(nèi)部類。這么做有倆個(gè)理由:


  1)如前面所講,你實(shí)現(xiàn)了某類型的幾口,于是可以創(chuàng)建并返回對(duì)其的引用


  2)你要解決一個(gè)復(fù)雜的問題,想創(chuàng)建一個(gè)類輔助你的解決方案,但是又不想這個(gè)類是公共可用的。


  動(dòng)力節(jié)點(diǎn)Javase相關(guān)視頻免費(fèi)下載學(xué)習(xí)


  Javase視頻教程【301集】:http://www.dabaquan.cn/v104/


  Java視頻下載【JavaSE進(jìn)階】:http://www.dabaquan.cn/v61/


Javase基礎(chǔ)-內(nèi)部類,內(nèi)涵全套免費(fèi)視頻教程


       以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Javase基礎(chǔ)-內(nèi)部類,內(nèi)涵全套免費(fèi)視頻教程”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


  相關(guān)內(nèi)容


  最新Java學(xué)習(xí)路線(適用于初學(xué)者)


  系統(tǒng)學(xué)習(xí)Java后端開發(fā)線路


  Javase——IO流概述、特點(diǎn)及其分類


提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 一级毛片视频播放 | 91亚洲精品国产自在现线 | 久久精品久久久久 | 国产成人高清精品免费观看 | 亚洲曰本大成网站mmm | 日日夜夜人人 | 女性特黄一级毛片 | 精品久久久久久无码中文字幕 | 簧片在线播放 | 久久亚洲精品成人综合 | 久久青| 亚洲久草 | 天天性综合 | 玖玖国产在线观看 | 精品欧美一区二区三区 | 九九99热久久精品在线6手机 | 99久久香蕉国产综合影院 | 成人精品免费视频 | 国产呦系列免费 | 韩日一区二区三区 | 999国产精品 | 国产午夜亚洲精品第一区 | 久久乱码精品区中文字幕 | 一区二区三区成人 | 久久亚洲免费视频 | 在线观看精品91老司机 | 久久精品国产99国产精品 | 欧美激情一区二区三区视频 | 日本高清中文字幕一区二区三区 | 亚洲欧洲久久久精品 | 欧美一级美片在线观看免费 | 国产第一页福利 | 国产精品高清在线 | 久久亚洲人成国产精品 | 亚洲视频高清 | 欧美视频在线观在线看 | 69国产成人综合久久精品 | 亚洲欧洲日产国码天堂 | 日韩免费一区二区三区 | 亚洲精品宾馆在线精品酒店 | a加勒比一本东京 |