java括号用法

nik*_*sdi 2 java

我有一个类似于这的java代码:

AnObject anObject = new AnObject() {
    int count;
    public int creation() {
        return count;
    }
};
Run Code Online (Sandbox Code Playgroud)

我无法理解括号的含义.构造函数后面的类?谢谢!

coo*_*ird 15

这是一个匿名的内部阶级.

基本上,它是AnObject没有名称的子类.

它是匿名的,因为它没有类名声明(例如class Foo),它是一个内部类,因为它是在另一个类中定义的(似乎没有在提供的代码中显示).

javac通常会将这些类命名为包含类$和一些数字标识符的类,例如Foobar$1- 您可能会<EnclosingClass>$1.class在编译该代码后找到它.

(<EnclosingClass>包含匿名内部类的类在哪里.)