創(chuàng)建java內(nèi)部類的編譯錯(cuò)誤處理

創(chuàng)建java內(nèi)部類的編譯錯(cuò)誤處理

ID:8990448

大?。?2.00 KB

頁數(shù):2頁

時(shí)間:2018-04-14

創(chuàng)建java內(nèi)部類的編譯錯(cuò)誤處理_第1頁
創(chuàng)建java內(nèi)部類的編譯錯(cuò)誤處理_第2頁
資源描述:

《創(chuàng)建java內(nèi)部類的編譯錯(cuò)誤處理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫

1、創(chuàng)建Java內(nèi)部類的編譯錯(cuò)誤處理  在學(xué)習(xí)編程的過程中,我覺得不止要獲得課本的知識(shí),更多的是通過學(xué)習(xí)技術(shù)知識(shí)提高解決問題的能力,這樣我們才能走在最前方,更多Java學(xué)習(xí),請(qǐng)搜索瘋狂Java;  在創(chuàng)建非靜態(tài)內(nèi)部類時(shí),經(jīng)常會(huì)遇到“Noenclosinginstanceoftype*isaccessible.Mustqualifytheallocationwithanenclosinginstanceoftype*(e.g.x.newA()wherexisaninstanceof*).”這樣的報(bào)錯(cuò),其實(shí)原因只有一點(diǎn),內(nèi)部類是依賴于外部類存在的,所以在使用非靜態(tài)內(nèi)部類時(shí),要求先實(shí)例

2、化外部類才可以使用內(nèi)部類。關(guān)于非靜態(tài)內(nèi)部類,我們可以把它理解成外部類的成員變量,我們?cè)谑褂靡粋€(gè)類的非靜態(tài)成員變量時(shí)要求先對(duì)類進(jìn)行實(shí)例化,然后通過對(duì)象來調(diào)用這個(gè)類的非靜態(tài)成員變量。這里非靜態(tài)內(nèi)部類同外部類的關(guān)系,就如同非靜態(tài)成員變量同類的關(guān)系一樣。所以在使用非靜態(tài)內(nèi)部類時(shí),要求先實(shí)例化外部類?! ∠旅嫖医o出例子來分析一下:  packagecom.csc.innerclasstest;  /**  *  *@authorcsc  *  */  //外部類  publicclassOuterClass{  /**  *@paramargs  */  publicstaticvoi

3、dmain(String[]args){  InnerClassinnerClass=newInnerClass();  innerClass.say();  System.out.println("IaminOuterClass!");  }  //定義一個(gè)內(nèi)部類  privateclassInnerClass{  privatevoidsay(){  System.out.println("IaminInnerClass!");  }  }  }  上面的代碼的第16行將會(huì)報(bào)出“NoenclosinginstanceoftypeOuterClassis  accessib

4、le.MustqualifytheallocationwithanenclosinginstanceoftypeOuterClass  (e.g.x.newA()wherexisaninstanceofOuterClass).”這樣的編譯錯(cuò)誤。錯(cuò)誤的原因如上面紅色字體所述?! 〗鉀Q方法一:將非靜態(tài)內(nèi)部類轉(zhuǎn)換成靜態(tài)內(nèi)部類,即在上面程序的第21行的“Private”后面加上“Static”即可?! 〗鉀Q方法二:先實(shí)例化外部類,然后通過外部類來調(diào)用內(nèi)部類的構(gòu)造函數(shù),代碼如下:  packagecom.csc.innerclasstest;  /**  *  *@authorcsc 

5、 *  */  //外部類  publicclassOuterClass{  /**  *@paramargs  */  publicstaticvoidmain(String[]args){  //實(shí)例化外部類  OuterClassouterClass=newOuterClass();  //通過外部類引用內(nèi)部類  InnerClassinnerClass=outerClass.newInnerClass();  innerClass.say();  System.out.println("IaminOuterClass!");  }  //定義一個(gè)內(nèi)部類  privat

6、eclassInnerClass{  privatevoidsay(){  System.out.println("IaminInnerClass!");  }  }  }  上面代碼的16行先進(jìn)行了外部類的實(shí)例化,第18行通過外部類來引用內(nèi)部類,這樣就不會(huì)出現(xiàn)“NoenclosinginstanceoftypeOuterClassisaccessible.MustqualifytheallocationwithanenclosinginstanceoftypeOuterClass(e.g.x.newA()wherexisaninstanceofOuterClass”這個(gè)編譯

7、報(bào)錯(cuò)了?! ’偪馢ava培訓(xùn)fkjava的課程采用針對(duì)性培養(yǎng),全面提升學(xué)員就業(yè)能力,重點(diǎn)加強(qiáng)訓(xùn)練職業(yè)素質(zhì)。老師辛勤的講解,讓學(xué)員充分感受Java的魅力,充分激發(fā)每個(gè)學(xué)員對(duì)于編程的熱愛,讓學(xué)員在半年的時(shí)間內(nèi)掌握8-10萬的代碼量,成為真正的技術(shù)高手,瘋狂Java采用企業(yè)全真模擬開發(fā)訓(xùn)練,迅速積累項(xiàng)目經(jīng)驗(yàn)。讓學(xué)員迅速獲得其他人需要花費(fèi)兩年才能獲得的工作技能,無憂就業(yè)!

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。