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 回答