999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Java匿名類的分析和理解

2011-12-31 00:00:00火善棟楊旭東
計算機時代 2011年8期

摘要:針對一些Java學習者對匿名類經常產生模糊認識,通過三個具體的實例詳細地分析了Java匿名類的內在本質。分析結果表明,匿名類實際上可以看作是一個類的子類或者是一個接口的實現類,這樣可使匿名類更易于理解。

關鍵詞:Java;匿名類;子類;接口

中圖分類號:N43

文獻標志碼:A

文章編號:1006-8228(2011)08-42-02

引言

什么是匿名類,很多教材和參考書把它解釋為:匿名類是一個內部類,是一個沒有類名的類。匿名類的優點是它可以使代碼結合的更加緊湊,使代碼更加易于理解。

其實,上述解釋并沒有說明匿名類的實質,這是對匿名類的一種很膚淺的認識和理解。因此,很多JAVA的學習者尤其是初學者在接觸到匿名類時常常是一頭霧水,不知道匿名類到底是一個什么東西,以及在實際編程中如何去運用匿名類。學習過Java的人都知道,在Java GUI程序設計中會大量地運用到匿名類。很多學習者在編寫這類程序時常常是模仿一些現成的實例,但并沒有搞清楚為什么這樣用;有很多程序由于大量運用匿名類,使得代碼變得難以理解,這其中一個很根本的原因就是沒有搞清楚匿名類的實質。

本文的理解是:匿名類是一個內部類,匿名類實質也是一個類(普通類或抽象類)的子類或者是—個接口的實現類。

下面就通過三個具體的實例來分析匿名類的實質。

1、匿名類與普通類子類的分析和比較

表1中的代碼定義了兩個內部類:TestClass和Son,其中Son TestClass的子類,它覆蓋了TestClass中的cry方法。另外,在test方法中創建了兩個實例,一個是Son的一個實例aa,另一個是TestClass的一個匿名類的一個實例bb,該匿名類的方法與Son中的方法相同,最后用這兩個不同的實例分別調用相應的cry方法。其運行結果都為“this general class'son iscrying”。這個實例說明:定義一個匿名類與定義一個一般類的一個子類,其內在含義和調用方法方式完全相同。

2、匿名類與抽象類子類的分析和比較

表2中的代碼定義了兩個內部類TestAbstract和Son,其中Son是TestClass的子類,TestAbstract是一個抽象類,Son覆蓋了TestAbstract中的cry抽象方法。另外,在test方法中創建了兩個實例,一個是Son的一個實例aa,另一個是TestAbstract的一個匿名類的一個實例bb,該匿名類的方法與Son中的方法相同,最后用這個不同的實例分別調用相應的cry方法。其運行結果都為“this general abstract class'son is crying”。這個實例說明:定義一個抽象匿名類與定義一個抽象類的子類(當然,這個子類不能再是一個抽象類)其內在含義和調用方法方式完全相同。

3、匿名類與接口實現類的分析和EE較

表3中的代碼定義了—個內部接口TestInterface和實現這個內部接口的一個內部類Son,Son實現了接口Tesffnterfaee中的兩抽象方法cry和sleep。另外,在test方法中創建了兩個實例,一個是Son的一個實例aa,另一個是TestInterface的一個匿名類的一個實例bb,該匿名類的方法與Son中的方法相同,最后用這個不同的實例分別調用相應的cry方法。其運行結果都為“this interface'son is crying”。這個實例說明:定義一個接口匿名類與定義一個接口的實現類(當然這個實現類不能是一個抽象類)其內在含義和調用方法方式完全相同。

4、結束語

匿名類可以理解為一個類(普通類或抽象類)的子類或者是一個接口的一個實現類。當這個匿名類是一個普通類的子類時,這個類中的方法必須要覆蓋類中的某些方法,否則沒有任何意義;當這個匿名類是一個抽象類的子類時,這個類中的方法必須要實現類中所有的抽象方法,當然也可以覆蓋某些方法;當這個匿名類是一個接口的一個實現類時,這個類中的方法必須要實現這個接口中所有的抽象方法。總之,匿名類的定義原則和調用方式與類的子類以及接口實現類(這些子類或實現類不能是抽象類)的定義原則和調用方式完全相同。所不同的主要有兩點:其一,若匿名類中定義的方法在父類或接口中沒有定義或聲明時,則這個方法無法調用,也就是說這個方法沒有任何意義,但是在子類或實現類中卻不存在這種情況;其二,匿名類的實例化是通過其父類或所實現的接口(如new<父類名或接口名>()來實現來,匿名類沒有類名,所以也沒有構造方法。

參考文獻:

[1]李芝興等.Java序設計之網絡編程.清華大學出版社,2009.

[2]王森.Java深度歷險,華中科技大學出版社,2002.

[3]王克宏.Java技術教程(基礎篇),清華大學出版社,2002.

[4]孫燕.Java2入門與實例教程,中國鐵造出版社,2003.

[5]柯溫釗.Java例解教程,中國鐵道出版社,2001.

主站蜘蛛池模板: 青青草原国产| 国产情精品嫩草影院88av| 国产精品成人观看视频国产 | 欧美日在线观看| 国产日本欧美亚洲精品视| www中文字幕在线观看| 国产高清色视频免费看的网址| 国产91视频免费观看| 丁香婷婷激情网| 福利国产在线| 婷婷成人综合| 午夜精品久久久久久久99热下载| 中文字幕免费视频| 农村乱人伦一区二区| 国产欧美日韩精品综合在线| 精品一区二区无码av| 亚洲精品第一在线观看视频| 国产精品无码在线看| 久久伊人色| 国产精品久久自在自线观看| 亚洲中文字幕国产av| 夜夜操天天摸| 毛片国产精品完整版| 91精品国产一区| 99久久国产综合精品2020| 亚洲国产精品美女| 亚洲国产综合自在线另类| 影音先锋丝袜制服| 亚洲日本中文字幕乱码中文| 无码电影在线观看| 亚洲人成网站色7799在线播放| 99精品伊人久久久大香线蕉| 四虎成人在线视频| 丁香婷婷激情网| 欧美成人免费一区在线播放| 日韩毛片在线视频| 广东一级毛片| 美女视频黄频a免费高清不卡| 国产国语一级毛片在线视频| 欧美亚洲一二三区| 国产成人狂喷潮在线观看2345 | 国产在线专区| 欧美日韩在线国产| 亚洲免费三区| 欧美日韩成人在线观看| 久久精品一品道久久精品| 最新国产成人剧情在线播放| 亚洲av无码久久无遮挡| 人人看人人鲁狠狠高清| 亚洲系列无码专区偷窥无码| 国产欧美视频在线| 国产好痛疼轻点好爽的视频| 国产噜噜在线视频观看| 国产成人精品一区二区三区| 久久国产精品电影| 97se亚洲综合在线韩国专区福利| 呦视频在线一区二区三区| 亚洲色图欧美激情| 久久亚洲国产一区二区| 国产国产人成免费视频77777| 无码精品一区二区久久久| 老司机久久99久久精品播放| 91在线视频福利| 欧美一区二区福利视频| 伊人色婷婷| 亚洲资源站av无码网址| 久久久久久久蜜桃| 久久精品电影| 激情综合网激情综合| 日韩在线视频网站| 麻豆国产原创视频在线播放| 一区二区三区精品视频在线观看| 亚洲AV无码乱码在线观看裸奔 | 秋霞一区二区三区| 欧美成人区| 久久大香香蕉国产免费网站| 欧美www在线观看| 国产精品浪潮Av| 婷婷综合色| 国产麻豆91网在线看| 91成人在线观看视频| 亚洲一级毛片免费观看|