16

Eclipseを使用したスタックで、時々私は見ました

Manager $ 2.run()行:278

ここで$2はどういう意味ですか?

4

1 に答える 1

22

匿名クラスです。

匿名クラスは、名前のないローカルクラスです。匿名クラスは、 new演算子を使用して、単一の簡潔な式で定義およびインスタンス化されます。

メソッド名から、それはRunnable.run()メソッドである可能性があります。

public class Manager {
    
    public static void main(String[] args) {
        new Manager();
    }
    
    public Manager() {
        //                         this is anonymous class
        //                              |
        //                              V
        Thread thread = new Thread(new Runnable() {
            
            @Override
            public void run() {
                System.out.println("hi");
            }
        });
        thread.start();
    }
}

見る

于 2012-06-16T14:39:03.593 に答える