匿名內(nèi)部類也就是沒有名字的內(nèi)部類聚唐。這種類的定義之所有沒有名稱,因為其僅用在使用之處腔召,其他地方也無需要使用杆查。通常和new運算符同時定義類和創(chuàng)建對象。匿名類必須顯示地指明其要繼承和父類或接口臀蛛。由匿名類創(chuàng)建的對象就具有繼承的父類或?qū)崿F(xiàn)的接口的特性亲桦。
匿名對象也就是沒有對象名的對象,我們定義對象時通常給對象定義一個名稱稱為對象名或?qū)ο蟮囊没驅(qū)ο笞兞孔瞧停员愠绦蛘{(diào)用時根據(jù)對象名稱類訪問客峭。但匿名對象沒有名稱,只有用于只使用一次地方抡柿,通常作用方法的實參使用和調(diào)用其方法返回的結(jié)果舔琅。
interfaceCoolable{
publicvoidclose();
}
classTv{
//關(guān)閉電視機
publicvoidcloseTV(Coolablec){
c.close();
}
}
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
Tvtv1=newTv();
//定義匿名類并創(chuàng)建實例c
Coolablec=newCoolable(){
@Override
publicvoidclose() {
System.out.println("使用紅外遙控關(guān)閉。");
}
};
tv1.closeTV(c);
Tvtv2=newTv();
//定義匿名類并創(chuàng)建匿名實例作為實參傳遞洲劣。
tv2.closeTV(newCoolable(){
@Override
publicvoidclose() {
System.out.println("使用藍牙遙控關(guān)閉备蚓。");
}
});
}
}
運行程序,結(jié)果如下圖所示: