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.

主站蜘蛛池模板: 夜夜操天天摸| 久久精品国产电影| 亚洲视频黄| 内射人妻无套中出无码| 久久久久久高潮白浆| 色135综合网| 日日摸夜夜爽无码| 91外围女在线观看| 精品视频免费在线| 欧美黄网站免费观看| 久久精品丝袜高跟鞋| 一区二区三区国产精品视频| 欧美成人午夜视频| 日韩第九页| 67194亚洲无码| 青青草一区| 日韩精品亚洲一区中文字幕| 免费精品一区二区h| 国产女人水多毛片18| 国产理论最新国产精品视频| 在线色综合| 在线视频精品一区| 亚洲三级视频在线观看| 第一区免费在线观看| 亚洲欧州色色免费AV| 国产精品美乳| 在线观看无码av五月花| 91外围女在线观看| 人妻少妇久久久久久97人妻| 日韩国产黄色网站| 狠狠色成人综合首页| 欧美亚洲日韩中文| 2020精品极品国产色在线观看 | 伊人天堂网| 日韩av在线直播| 色婷婷电影网| 国产色爱av资源综合区| 国产高清自拍视频| 欧美色伊人| 日本手机在线视频| 亚洲精品午夜无码电影网| 免费A级毛片无码无遮挡| 欧美性猛交一区二区三区| 国产欧美日韩精品综合在线| 国产自视频| 国产一区二区人大臿蕉香蕉| 国产成人高精品免费视频| 偷拍久久网| 色久综合在线| 日韩欧美在线观看| 亚洲欧美日韩成人在线| 国产精品香蕉| 99青青青精品视频在线| 亚洲色图欧美在线| 国产电话自拍伊人| 亚洲中文在线看视频一区| 亚洲第一天堂无码专区| 国产xx在线观看| 久视频免费精品6| 国产香蕉一区二区在线网站| 一本久道热中字伊人| a毛片免费在线观看| 2021国产在线视频| 九色视频线上播放| 午夜免费小视频| 精品欧美视频| 青青草91视频| 国产欧美日韩专区发布| 国产成人免费视频精品一区二区 | 播五月综合| 亚洲中文久久精品无玛| 国产欧美精品一区二区| 成色7777精品在线| 国产浮力第一页永久地址 | 国产成人精彩在线视频50| 久久久久免费精品国产| 国产成人精品一区二区不卡 | 国产精品视频猛进猛出| 久久中文字幕av不卡一区二区| 露脸真实国语乱在线观看| 亚洲人在线| 茄子视频毛片免费观看|