更新時(shí)間:2020-09-09 17:06:22 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3093次
匿名內(nèi)部類,相當(dāng)于簡化的內(nèi)部類
前提條件:有一個(gè)類(具體類或者抽象類)或者接口。
格式:new類名或者接口名(){重寫方法;}
這里new出來的對象相當(dāng)于類的子類對象或者接口的實(shí)現(xiàn)類對象。
實(shí)質(zhì):創(chuàng)建的是繼承了類或?qū)崿F(xiàn)了接口的子類匿名對象。
/*
匿名內(nèi)部類面試題:
按照要求,補(bǔ)齊代碼
interface?Inter?{?void?show();?}
class?Outer?{?//補(bǔ)齊代碼?}
class?OuterDemo?{
public?static?void?main(String[]?args)?{
??Outer.method().show();
??}
}
要求在控制臺(tái)輸出”HelloWorld”
*/
interface?Inter?{?
void?show();?
//public?abstract
}
?
class?Outer?{?
//補(bǔ)齊代碼
public?static?Inter?method()?{
//子類對象?--?子類匿名對象
return?new?Inter()?{
public?void?show()?{
System.out.println("HelloWorld");
}
};
}
}
?
class?OuterDemo?{
public?static?void?main(String[]?args)?{
Outer.method().show();
}
}
分析:
1、通過main方法中直接調(diào)用Outer.method().show()可以分析出method是一個(gè)靜態(tài)方法
2、Outer.method().show()是一個(gè)鏈?zhǔn)骄幊蹋琌uter.method()是一個(gè)對象,即method()返回值為引用類型。
3、通過后面調(diào)用show()方法可以分析出method()引用的是一個(gè)Inter接口類型。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“企業(yè)常見的Java匿名內(nèi)部類筆試題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀