課題_Java基礎(chǔ)_內(nèi)部類、靜態(tài)內(nèi)部類、成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類_第1頁(yè)
課題_Java基礎(chǔ)_內(nèi)部類、靜態(tài)內(nèi)部類、成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類_第2頁(yè)
課題_Java基礎(chǔ)_內(nèi)部類、靜態(tài)內(nèi)部類、成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類_第3頁(yè)
課題_Java基礎(chǔ)_內(nèi)部類、靜態(tài)內(nèi)部類、成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類_第4頁(yè)
課題_Java基礎(chǔ)_內(nèi)部類、靜態(tài)內(nèi)部類、成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java基礎(chǔ)_內(nèi)部類、靜態(tài)內(nèi)部類、成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類內(nèi)部類:使用內(nèi)部類減少了命名沖突。一個(gè)內(nèi)部類可以定義在一個(gè)類中,一個(gè)方法中甚至一個(gè)表達(dá)式中。內(nèi)部類分為四種:靜態(tài)內(nèi)部類(static inner classes)成員內(nèi)部類(member inner classes)局部?jī)?nèi)部類(local inner classes)匿名內(nèi)部類(anonymous inner classes)1、靜態(tài)內(nèi)部類(static inner classes)最簡(jiǎn)單的內(nèi)部類。只能訪問(wèn)外部類的靜態(tài)成員變量與靜態(tài)方法。生成靜態(tài)內(nèi)部類對(duì)象的方法:OuterClass.InnerClass inner = ne

2、w OuterClass.InnerClass();1.1、相關(guān)使用例子:靜態(tài)內(nèi)部類:classStaticInner2 private static int a = 1;34 /*5 * 靜態(tài)內(nèi)部類6 * 生成的類名:StaticInner$InnerClass7 */8 public static class InnerClass9 /靜態(tài)內(nèi)部類可以聲明靜態(tài)的成員變量,其他的內(nèi)部類不可以10 private static int b = 1;11 public void execute()12 /靜態(tài)內(nèi)部類只能訪問(wèn)靜態(tài)程序13 System.out.println(a + b);14 15

3、 16 main方法中使用:1 public static void main(String args) 2 /創(chuàng)建靜態(tài)內(nèi)部類3 StaticInner.InnerClass innerClass = new StaticInner.InnerClass();4 innerClass.execute();5 2、成員內(nèi)部類(member inner classes):成員內(nèi)部類可以訪問(wèn)外部類的靜態(tài)與非靜態(tài)的方法和成員變量。生成成員內(nèi)部類對(duì)象的方法:OuterClass.InnerClass inner = new OuterClass().new InnerClass();在局部?jī)?nèi)部類中訪問(wèn)外

4、部類的成員變量的方法:OuterClass.this.a;2.1、相關(guān)使用例子:成員內(nèi)部類:1classMemberInnerprivate int a = 1;34 public void execute()5 /在外部類中創(chuàng)建成員內(nèi)部類6 InnerClass innerClass = this.new InnerClass();7 89 /*10 * 成員內(nèi)部類11 */12 public class InnerClass1314 /內(nèi)部類可以創(chuàng)建與外部類同名的成員變量15 private int a = 2;1617 public void execute()18 /this引用的是內(nèi)

5、部類19 System.out.println(this.a);20 /在內(nèi)部了中使用外部類的成員變量的方法21 System.out.println(MemberInner.this.a);22 23 24 在main方法中使用:1 public static void main(String args) 2 /創(chuàng)建成員內(nèi)部類3 MemberInner.InnerClass innerClass = new MemberInner().new InnerClass(); 4 innerClass.execute();5 3、局部?jī)?nèi)部類(local inner classes):類似于局部變量

6、,不能定義為public,protected,private或者static類型。定義方法中,只能方法中聲明為final類型的變量。3.1、相關(guān)使用例子:局部?jī)?nèi)部類:1 class LocalInner3 public void execute()4 final int a = 1;5 /*6 * 創(chuàng)建局部?jī)?nèi)部類7 */8 class InnerClass9 public void execute()10 System.out.println("LocalInner Class");1112 /局部?jī)?nèi)部類只能訪問(wèn)final類型的變量13 System.out.println

7、(a);14 15 16 /只能在所在方法區(qū)域創(chuàng)建17 new InnerClass().execute();18 19 在main方法中使用:1publicstatic void main(String args) 2 /外部不能直接創(chuàng)建局部?jī)?nèi)部類3 LocalInner localInner = new LocalInner();4 localInner.execute();5 4、匿名內(nèi)部類(anonymous inner classes):匿名內(nèi)部類沒(méi)有類名,沒(méi)有class關(guān)鍵字也沒(méi)有extends和implements等關(guān)鍵字修飾。匿名內(nèi)部類會(huì)隱式地繼承一個(gè)父類或?qū)崿F(xiàn)一個(gè)接口。4.1

8、、相關(guān)使用例子:1 public static void main(String args) 2 AnonymousInnerClassTest test = new AnonymousInnerClassTest(); 34 /*5 * 創(chuàng)建匿名內(nèi)部類6 * 生成的類名:AnonymousInnerClassTest$17 */8 test.print(new Date()9 /重寫(xiě)toString()方法10 Override11 public String toString() 12 return "Hello world."13 14 );1516 JButton button = new JButton();1718 /*19 * 創(chuàng)建匿名內(nèi)部類20 * 該匿名內(nèi)部類實(shí)現(xiàn)ActionListener接口21 * 生成的類名:AnonymousInnerClassTest$122 */23 button.addActionListener(new ActionListener()24 /實(shí)現(xiàn)接口中的方法25 Override26 public void actionPerformed(ActionEvent e)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論