




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
內(nèi)部類的定義與調(diào)用1一般內(nèi)部類
內(nèi)部類是定義在一個類的類體中的類,內(nèi)部類也可以包含變量和方法。一般內(nèi)部類可分為成員類、靜態(tài)類和局部類三種。內(nèi)部類的定義與調(diào)用1)成員類classOutC{ privateStringi="我是成員變量"; voidA(){ System.out.println("我是成員方法"); } classInC{//內(nèi)部類的定義 voidprint(){ System.out.println("我是成員類"); } }}內(nèi)部類的定義與調(diào)用成員類可正常訪問其它類成員,也可如其它成員一樣被修飾,但從外部訪問成員類需注意:
Aa=newA("外部類A");//先創(chuàng)建外部類實例
A.Bb=a.newB();//通過外部類實例創(chuàng)建內(nèi)部類對象eg1
publicstaticvoidmain(Stringargs[]){ OutCout=newOutC(); InCin=out.newInC(); in.print();}內(nèi)部類的定義與調(diào)用eg1//成員類publicclasseg1{ publicstaticvoidmain(String[]args){ OutCout=newOutC(); OutC.InCin=out.newInC();//其它類訪問內(nèi)部類成員的作法
in.print(); }}classOutC{ privateinti; voidA(){ InCin=newInC();//外部類訪問內(nèi)部類成員的做法
in.innerInt=1; } classInC{//內(nèi)部類的定義
privateintinnerInt; voidprint(){ System.out.println("generalInt="+i); } }}內(nèi)部類的定義與調(diào)用
static修飾的成員類又稱為靜態(tài)類。①頂層類只能訪問外部類的static成員。②除外部類外的其它類訪問靜態(tài)類時對象的創(chuàng)建方式和成員類不同。2)靜態(tài)類
A.Bb=newA.B();//通過外部類直接創(chuàng)建內(nèi)部類對象beg2可以使用內(nèi)部類來實現(xiàn)接口和抽象類。eg3eg2//靜態(tài)類publicclasseg2{ publicstaticvoidmain(String[]args){ OutCout=newOutC(); OutC.InCin=newOutC.InC(); in.print(); }}classOutC{ privateinti; staticintj; voidA(){ InCin=newInC(); in.innerInt=1; } staticclassInC{//頂層類的定義
privateintinnerInt; voidprint(){ // System.out.println("generalInt="+i); System.out.println("staticInt="+j); } }}eg3classeg3//外部類定義{ privateclassPContentsextendsContents//內(nèi)部類實現(xiàn)抽象類
{ privateinti; PContents(intcn){i=cn;} publicintvalue(){returni;} } protectedclassPDestinationimplementsDestination//內(nèi)部類實現(xiàn)接口
{ privateStringlabel; privatePDestination(StringwhereTo){label=whereTo;} publicStringreadLabel(){returnlabel;} } publicDestinationdest(Strings){returnnewPDestination(s);} publicContentscont(intcn){returnnewPContents(cn);}}//運用內(nèi)部類來實現(xiàn)接口和抽象類中的抽象方法abstractclassContents//抽象類定義{ abstractpublicintvalue();}interfaceDestination//接口定義{ StringreadLabel();}classInnerClass//測試類{ publicstaticvoidmain(String[]args) {
eg3p=neweg3(); Contentsc=p.cont(100); Destinationd=p.dest("Tanzania"); System.out.println(c.value()); System.out.println(d.readLabel()); }}內(nèi)部類的定義與調(diào)用
方法中定義的類是方法的一個局部變量。①局部類的作用域僅限于方法內(nèi),可以避免類名的沖突。②局部類只能訪問方法中的final變量。
③
要使用局部類只能通過調(diào)用方法來實現(xiàn),不能通過創(chuàng)建類的實例來完成。eg43)局部類eg4//局部類publicclasseg4{ publicstaticvoidmain(String[]args){ OutClassout=newOutClass(); Objectin=out.makeInner(); }}classOutClass{ privateintg; ObjectmakeInner(){ inti; finalintj=0;
classInnerClass{//局部類定義
voidprint(){ System.out.println("generalInt="+g); System.out.println("j="+j); } publicStringtoString(){return"InnerClass";} }
//newInnerClass().print(); //System.out.println(newInnerClass().toString()); returnnewInnerClass(); }}七、內(nèi)部類的定義與調(diào)用1)什么是匿名類?2)匿名類的定義和實例創(chuàng)建是同時完成的。3匿名類沒有class關(guān)鍵字,不能有修飾符,也不能定義構(gòu)造方法。4)使用匿名類可使代碼更簡潔。2、特殊內(nèi)部類——匿名類interfaceTestInterface{ voidprint();}newTestInterface(){{//匿名類實現(xiàn)接口publicvoidprint(){System.out.println(“Anonymousclass”);}};相當(dāng)于:classAimplementsTestInterface{//一般類實現(xiàn)接口publicvoidprint(){System.out.println(“Anonymousclass”);}}
eg5
內(nèi)部類的定義與調(diào)用——示例eg5//匿名類publicclasseg5{ publicstaticvoidmain(String[]args){ TestInterfacetest=newTestInterface(){ publicvoidprint(){System.out.println("Snonymousclassdefinition"); } }; test.print(); }}interfaceTestInterface{voidprint();}importjava.awt.*;importjava.awt.event.*;classAextendsFrame{
publicA(){
addWindowListener(newWindowAdapter(){//匿名類實現(xiàn)接口
publicvoidwindowClosi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司收購重組協(xié)議實施
- 城市路燈面試題及答案
- 學(xué)駕照考理論試題及答案
- 家具設(shè)計中的創(chuàng)意思維技巧與方法試題及答案
- 樂理學(xué)習(xí)多元化題及答案
- 幼兒園數(shù)學(xué)伴隨教育考試試題及答案
- PLC應(yīng)用技術(shù)S7-200 SMART 模擬試題及答案
- 物流運輸考試題及答案
- 振華初中測試題及答案
- 合唱配器與聲部合成技巧試題及答案
- 2024年(新課標(biāo)卷)高考物理試題評析交流 課件
- 機(jī)器的征途:空天科技學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 統(tǒng)編版語文五年級下冊-16田忌賽馬-教學(xué)課件多篇
- 鋼結(jié)構(gòu)工程加工合同范本
- 眼鏡學(xué)智慧樹知到答案2024年溫州醫(yī)科大學(xué)
- 市場監(jiān)督管理局餐飲服務(wù)環(huán)節(jié)日常監(jiān)督檢查結(jié)果記錄表
- 安徽省蕪湖市部分學(xué)校2023-2024學(xué)年八年級下學(xué)期期末聯(lián)考數(shù)學(xué)試題
- 四川省瀘州市2024年七年級下學(xué)期數(shù)學(xué)期末考試試卷附答案
- JT-T 1495-2024 公路水運危險性較大工程專項施工方案編制審查規(guī)程
- 幸福心理學(xué)智慧樹知到期末考試答案章節(jié)答案2024年浙江大學(xué)
- 2024年四川省自然資源投資集團(tuán)有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論