料青山看我應(yīng)如是
2019-11-26 15:18:30
interface TestA { String toString();}public class Test { public static void main(String[] args) { System.out.println(new TestA() { public String toString() { return "test"; } }); }}結(jié)果是什么?A.測(cè)試B.空C.運(yùn)行時(shí)拋出異常。D.由于行1中的錯(cuò)誤,編譯失敗。E.由于行4中的錯(cuò)誤,編譯失敗。F.由于行5中的錯(cuò)誤,編譯失敗。這個(gè)問(wèn)題的答案是什么?為什么?關(guān)于這個(gè)問(wèn)題,我還有一個(gè)疑問(wèn)。在第4行中,我們正在創(chuàng)建A的對(duì)象。是否可以創(chuàng)建接口的對(duì)象?
3 回答

揚(yáng)帆大魚(yú)
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
您在這里看到的是一個(gè)匿名內(nèi)部類:
給定以下界面:
interface Inter {
public String getString();
}
您可以創(chuàng)建類似其實(shí)例的內(nèi)容,如下所示:
Inter instance = new Inter() {
@Override
public String getString() {
return "HI";
}
};
現(xiàn)在,您具有定義的接口的實(shí)例。但是,您應(yīng)該注意,實(shí)際上已經(jīng)定義了一個(gè)實(shí)現(xiàn)接口并同時(shí)實(shí)例化該類的類。

阿波羅的戰(zhàn)車(chē)
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
test
應(yīng)該是輸出。這是一個(gè)匿名內(nèi)部類的例子。
這是Comparator
接口使用的非常常見(jiàn)的模式,用于模擬閉包。
添加回答
舉報(bào)
0/150
提交
取消