我想我明白匿名類的基礎知識,但我想澄清一些事情。 時,我有一個語法像這樣匿名類難題
class A
{
class AnonymousClass1 Implements ActionListener{}
}
class A
{
public A()
{
JButton btn = new JButton();
btn.addActionListener(new ActionListener(){});
}
}
如果匿名類實際上是一個內部類A級的,如在第一個例子:從理論上講,是語義正確的?
究竟發生了什麼?我認爲,當編譯java文件時,會爲匿名類創建一個.class文件,以便它可以被引用(但我找不到它)。當A的一個對象被實例化時,它創建一個按鈕對象,然後btn調用實際上傳遞類似於此的addActionListener()方法。AnonymousClassOne是編譯器給出的通用名稱。
如果不是會發生什麼?謝謝。
笑我看到啦!這太棒了。這不是在Eclipse中,我正在看錯誤的地方。很好,謝謝。有趣的是,它實際上使用classname $ Digit作爲匿名類名。很酷! –
@Lews Therin - 不客氣:) –
你爲什麼不在Java房間裏閒逛?我們一直都在那裏大聲笑 –