2

这可能是一个愚蠢的问题,但我已经考虑了一段时间,我不知道它到底叫什么。

因此,对于 Android,对于 OnClickListeners、OnTouchListeners 等,您可以执行以下操作:

    bio.setOnCancelListener(new OnCancelListener() {

        public void onCancel(DialogInterface arg0) {
            // TODO Auto-generated method stub
        }
    });

几乎是在制作一个新的内联类。这在 Java 中叫什么,还是 Android 特有的东西?基本上,发生这种情况时会发生什么?由于 On[blah]Listeners 是接口,您是否几乎创建了一个实现 OnCancelListener 的内部类?

谢谢!

4

3 回答 3

5

你是对的。您正在创建一个匿名内部类,它将实现 OnCancelListener 所需的方法。

请参阅: Java 中如何使用匿名(内部)类?

于 2012-10-01T05:42:12.847 回答
3

它们在 Java 中。它们被称为匿名类,因为它们没有任何名称。

这就是 java 试图解决其无法支持闭包(一种流行的语言特性)的方式。.

于 2012-10-01T05:41:25.583 回答
1

它被称为匿名类。

于 2012-10-01T05:43:00.553 回答