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.

主站蜘蛛池模板: 狠狠综合久久| 中文国产成人久久精品小说| 国产精品入口麻豆| 欧美伊人色综合久久天天| 欧美成人午夜在线全部免费| 日本三级欧美三级| 尤物在线观看乱码| 亚洲av日韩av制服丝袜| 精品无码一区二区在线观看| 尤物成AV人片在线观看| 久久黄色视频影| 久久综合九色综合97网| 免费A∨中文乱码专区| 免费看av在线网站网址| 久久香蕉国产线看观| 国产香蕉在线视频| 日韩一区二区三免费高清| 国产一二视频| 国产精品亚洲精品爽爽| 欧美三级日韩三级| 中文字幕日韩视频欧美一区| 久久综合干| 亚洲欧美自拍一区| 在线精品亚洲国产| 亚洲欧美日韩中文字幕在线一区| 欧美啪啪网| 亚洲乱码精品久久久久..| 国产区网址| 亚洲男人的天堂在线观看| 视频国产精品丝袜第一页| 98超碰在线观看| 国产精品私拍在线爆乳| 欧美色综合久久| 久久久久国产一区二区| 精品少妇三级亚洲| 亚洲最新在线| 99久久国产精品无码| 日韩精品久久久久久久电影蜜臀| 伊人精品视频免费在线| 亚洲日本韩在线观看| 亚洲精品中文字幕无乱码| 天堂网国产| 99热在线只有精品| 国产免费黄| 久久久久亚洲精品无码网站| 国产成人精品一区二区| 亚洲无线视频| 91无码视频在线观看| 大香伊人久久| 无码日韩精品91超碰| 青青操视频在线| 国产福利大秀91| 热久久国产| 一本一本大道香蕉久在线播放| 国产成人啪视频一区二区三区| 亚洲第一区在线| 成年人视频一区二区| 无码精品一区二区久久久| 久久精品无码一区二区国产区| 国产高清在线观看| 午夜福利亚洲精品| 国产一区二区三区在线观看免费| 欧美亚洲第一页| 欧美国产在线精品17p| 免费在线不卡视频| av天堂最新版在线| 91成人在线免费视频| 精品人妻一区无码视频| 国产麻豆aⅴ精品无码| 热思思久久免费视频| 1769国产精品免费视频| 多人乱p欧美在线观看| 农村乱人伦一区二区| 国产毛片基地| 性色生活片在线观看| 91视频精品| 国产欧美精品一区二区| 午夜视频免费一区二区在线看| 欧美午夜视频在线| 久久精品亚洲热综合一区二区| 精品久久久久久中文字幕女 | 亚洲va视频|