點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第六章匯總
6.12 匿名類
在有些場合下,你可能需要定義一個類,但在程序中卻從來不會定義它的對象,只是用來把這個類的對象作為自變量直接傳遞給方法。在這種情況下,只要你的類擴展于一個現(xiàn)有的類,或者實現(xiàn)了一個接口,就可選擇將類定義為匿名類(anonyrnvus class),一個匿名類的定義出現(xiàn)在建立和使用這個類對象的語句中的一個新表達(dá)式中,使之不必提供類的名字。
我們通過一個例子說明實現(xiàn)它的方法。假設(shè)我們想定義一個類對象,它只在實現(xiàn)接口ActionListener時使用一次。我們應(yīng)該像下面這樣使用:
pickButton.addActionListener(new ActionListener()
{
//Code to defire the class
//that implements the ActionListener interface
}
};
類定義出現(xiàn)在作為自變量傳遞給addActionListener()方法的新表達(dá)式中。這個方法需要一個ActionListener類型的引用,也就是一個實現(xiàn)ActianListener接口的類的引用,括號后面的接口名表明我們正在建立一個這種類型的對象,類定義的詳細(xì)內(nèi)容在一對大括號之間。匿名類可以包含數(shù)據(jù)成員和方法,然而,很顯然,不能包含構(gòu)造函數(shù),這是因為類沒有名字。在這里,ActionListener接口聲明的所有方法都需要定義。
如果匿名類擴展于一個現(xiàn)有的類,其語法完全相同。此時,你可以調(diào)用基類中的構(gòu)造函數(shù),若不是默認(rèn)的構(gòu)造函數(shù),你可以通過在基類名字后面的括號之間說明自變量來把它們傳遞給方法。如同前面的例子一樣,匿名類的定義必須出現(xiàn)在大括號之間。
相關(guān)推薦:
2015計算機等級考試二級Java入門教程章節(jié)匯總
2014計算機二級Java程序設(shè)計真題及答案(網(wǎng)友版)
考試吧特別策劃:2015年計算機等級考試報考指南