匿名類的理解(部分)

1、內部類

可以在一個類中再定義一個類,這樣的類稱作當前類中的內部類,而包含內部類的類稱爲內部類的外嵌類。內部類的外嵌類在內部類中仍然有效,內部類中的方法也可以調用外嵌類的方法。

內部類的類體中不可以聲明類變量和類方法(使用static修飾)。內部類僅供它的外嵌類使用,其他類不可以用某個類的內部類聲明對象。

2、匿名類與子類

Java允許直接使用一個類的子類的類體創建一個子類對象。例如,假設Bank是一個類,那麼下列代碼就是用Bank的一個子類(不必顯示地事先定義這個子類,因此該子類是一個匿名類)創建對象:

new Bank(){
    匿名類的類體
};

使用匿名類時,必然是在某個類中直接用匿名類創建對象,因此匿名類一定是內部類。

如果某個方法的參數是Bank類型,那麼經常使用匿名類創建一個對象,並將對象的引用傳遞給方法的參數。例如,對於

void showMoney(Bank bank)

其中的參數bank是Bank類型,那麼在調用showMoney時,可以向showMoney方法的參數bank傳遞一個匿名類(Bank的一個子類)的對象,例如:

void showMoney(new Bank(){
    Bank類的子類的類體
})    //注意這裏最後的右小括號
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章