java - 方法本地内部类在 Java 中有什么好处?

标签 java inner-classes scjp

我刚刚通读了 SCJP book 中关于方法局部内部类的章节,我真的很难想出它们的任何实际用途。

我一直认为方法应该尽可能小并针对它们的任务(Orthogonality IIRC),因此即使引入最简单的内部类也会创建笨重的方法。

任何人都可以建议方法局部内部类的良好实际用法吗?到目前为止,感觉好像我可能必须理解它们纯粹是为了通过考试,而不是为了在日常编码中使用。

干杯

最佳答案

在大多数情况下(例如,对于 Action 监听器、可运行对象等),您将使用匿名类而不是方法局部命名类。

但是有一件事是命名类可以做而匿名类不能做的:实现多个接口(interface),或者扩展一个类和接口(interface)。此外,您可以创建此类的多个对象(无需使用循环)。

关于java - 方法本地内部类在 Java 中有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543451/

相关文章:

java - 将 ByteArrayOutputStream 转换为 int 值

c++ - 别名(或类型定义)参数化类的内部类

c++ - 是否有一种巧妙的方法可以避免在 C++ 中使用嵌套类进行额外填充?

java - OCP 1.6 或 JAVA SE 7 程序员 1

java - 自 Java5 + 菱形运算符以来初始化通用集合的方法

java - 在 H2 数据库中插入时间 - 未找到函数 "PARSEDATETIME"

java - 在java中复制wget命令

Java内部类编译错误

scala - 如何在 Scala 中表示内部单例

java - 使用 collections.sort() 方法对字符串进行排序