JavaSE 學習參考:匿名內部類和匿名對象

匿名內部類

匿名內部類也就是沒有名字的內部類。這種類的定義之所有沒有名稱,因為其僅用在使用之處,其他地方也無需要使用。通常和new運算符同時定義類和創建對象。匿名類必須顯示地指明其要繼承和父類或接口。由匿名類創建的對象就具有繼承的父類或實現的接口的特性。

匿名對象

匿名對象也就是沒有對象名的對象,我們定義對象時通常給對象定義一個名稱稱為對象名或對象的引用或對象變量,以便程序調用時根據對象名稱類訪問。但匿名對象沒有名稱,只有用于只使用一次地方,通常作用方法的實參使用和調用其方法返回的結果。

interfaceCoolable{

publicvoidclose();

}

classTv{

//關閉電視機

publicvoidcloseTV(Coolablec){

c.close();

}

}

publicclassDemo1 {

publicstaticvoidmain(String[]args) {

Tvtv1=newTv();

//定義匿名類并創建實例c

Coolablec=newCoolable(){

@Override

publicvoidclose() {

System.out.println("使用紅外遙控關閉。");

}

};

tv1.closeTV(c);

Tvtv2=newTv();

//定義匿名類并創建匿名實例作為實參傳遞。

tv2.closeTV(newCoolable(){

@Override

publicvoidclose() {

System.out.println("使用藍牙遙控關閉。");

}

});

}

}

運行程序,結果如下圖所示:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,739評論 18 399
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,925評論 6 342
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,136評論 0 62
  • 有一天,我會問你“假如那一刻她成為你將來的女朋友或者另一半,除了當時的眼緣外,你最看中她身上的哪一點?”聰明的你很...
    陶姊閱讀 230評論 0 0