任何人都可以解釋以下代碼的工作...?任何人都可以解釋以下代碼的工作...?
interface myInterface{}
public class Main {
public static void main(String[] args) {
System.out.println(new myInterface(){public String toString(){return "myInterfacetoString";}});
System.out.println(new myInterface(){public String myFunction(){return "myInterfacemyFunction";}});
}
}
輸出是...
myInterfacetoString
[email protected]
所有答案中說的println是MyInterface的()語句是匿名類。但是,因爲我已經將它聲明爲一個接口,爲什麼它允許我創建同名匿名類....?
再次...如果這些都是匿名類,則class主要應該讓我給任何名義向這些匿名classes..But如果嘗試做so..I'm獲得編譯錯誤
這是作業,還是好奇?標記作業問題本身被認爲是一種很好的形式。 – ojrac 2010-06-05 02:17:58
Siddhi,很好的問題。不過,我建議你不要經常用顯着的新內容改變問題。相反,你可以提交一個新的問題並引用這個問題。 – akf 2010-06-05 02:53:37
這使得一個匿名類的實例實現一個空的接口。一個覆蓋toString(),所以System.out.println會自動使用它。另一個有myFunction,它沒有被調用,所以它使用Object的toString(),它提供了一些信息,包括對象的地址。 – mk12 2010-06-05 03:12:37