更新時(shí)間:2020-09-09 17:06:22 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3376次
匿名內(nèi)部類(lèi),相當(dāng)于簡(jiǎn)化的內(nèi)部類(lèi)
前提條件:有一個(gè)類(lèi)(具體類(lèi)或者抽象類(lèi))或者接口。
格式:new類(lèi)名或者接口名(){重寫(xiě)方法;}
這里new出來(lái)的對(duì)象相當(dāng)于類(lèi)的子類(lèi)對(duì)象或者接口的實(shí)現(xiàn)類(lèi)對(duì)象。
實(shí)質(zhì):創(chuàng)建的是繼承了類(lèi)或?qū)崿F(xiàn)了接口的子類(lèi)匿名對(duì)象。
/*
匿名內(nèi)部類(lè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()?{
//子類(lèi)對(duì)象?--?子類(lèi)匿名對(duì)象
return?new?Inter()?{
public?void?show()?{
System.out.println("HelloWorld");
}
};
}
}
?
class?OuterDemo?{
public?static?void?main(String[]?args)?{
Outer.method().show();
}
}
分析:
1、通過(guò)main方法中直接調(diào)用Outer.method().show()可以分析出method是一個(gè)靜態(tài)方法
2、Outer.method().show()是一個(gè)鏈?zhǔn)骄幊?,Outer.method()是一個(gè)對(duì)象,即method()返回值為引用類(lèi)型。
3、通過(guò)后面調(diào)用show()方法可以分析出method()引用的是一個(gè)Inter接口類(lèi)型。

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“企業(yè)常見(jiàn)的Java匿名內(nèi)部類(lèi)筆試題”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)