这是在这里返回的匿名对象吗?

Is this an anonymous Object being returned Here?

我正在查看相机教程中的 Android 代码。我来自 C#/Obj-C/Swift 语言集,所以 Java 对我来说还是陌生的。我熟悉函数式编程,但我看到的这种语法在本质上似乎并不实用(或者我错了)。

这是代码:

 button.setOnClickListener
        (
                new View.OnClickListener()
                {
                    @Override
                    public void onClick(View v)
                    {

                    }
                }
        );

new View.OnClickListener() 行是我坚持的地方。 OnClickListener 是一个接口。所以我的问题是:是新的 View.OnClickListener() 创建一个具有 OnClickListener 接口的匿名对象,并覆盖 onClickView?

P.S。如果您也可以告诉我这个 'type' 代码的 Java 名称,我也会很感激。

是的,它创建了一个已实现该方法的匿名 class。看看这个:Anonymous classes Oracle

如您所料,对 new View.OnClickListener() {...} 的调用实例化了一个实现 View.OnClickListener 的匿名类型的对象。此 class 的名称将由 周围 class 的名称确定,并将采用 SurroundingClass$index 的形式。因此,如果这是 MyClass 中的第一个匿名内部 class,它将被称为 MyClass