java - Java中为什么存在匿名类?

标签 java class lambda anonymous-class

与普通类相比,匿名类是否有任何特殊功能,因为我在这些类中没有看到任何特殊功能?

最佳答案

Is there any special features in anonymous classes when compared to normal classes

确实有一个特殊功能:它们具有闭包的语义,这意味着您可以在其声明站点访问作用域内的局部变量。匿名类是具有相同功能的本地类的特殊情况;然而,命名的本地类几乎从未被使用过。

与“普通”类相比,匿名类也是内部类,这意味着它们也捕获封闭类的实例(如果在非静态上下文中声明)。

总而言之,匿名类是 Java 类可以拥有的所有特殊功能的联合。

关于java - Java中为什么存在匿名类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32377140/

相关文章:

java - Java 中的正则表达式以零长度行开始并跨行继续

java - Java 文件扫描器的 NoSuchElementException

java - 将条件放入 Completable 的 andThen 方法

C++当您取消引用指向类对象的指针然后将其作为引用返回时,您可以在此引用上调用方法吗

java - 在数组中查找具有特定变量的自定义对象

c# - 并行化作业的更好方法

java - 如何使用 Java 收集器获取嵌套列表 <Long> 的串联

java - EST 时间与夏令时的转换

ruby - `[]` 如何与 lambda 一起使用

c++ - 多态性使得函数不可访问