我一直在阅读 Dierk Koenig 的“Groovy in Action”。 Dierk 声称这些是 Java 无法执行的 Groovy 任务:
- Changing the runtime behavior of objects after they have been created.
我认为 Java 也有 - 动态调度。谁能解释一下它与 Java 有何不同?
- Encapsulating logic in objects in a natural way.
这与 Java 有何不同? 如果您有明确的答案,非常感谢您花时间回复。
最佳答案
对于第一个任务:
Changing the runtime behavior of objects after they have been created.
我认为您将此 Groovy 语言功能与 Java 中的多态性等概念混淆了。例如,Groovy 中的这个特性允许您 replace a method for an existing object at runtime ,而动态调度是 JVM 的核心功能,它允许运行时根据对象的实际类型调度正确的方法调用。
对于第二个任务:
Encapsulating logic in objects in a natural way.
我认为是关于 closures它允许您存储对可重复使用的代码块或方法的引用。 Java 中不存在此功能。
关于java - Groovy 基础——运行时行为和封装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28199158/