java - Groovy 基础——运行时行为和封装

标签 java groovy

我一直在阅读 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/

相关文章:

java - 参数传递问题

java - Spring,Tomcat 试图在 server.xml 中设置上下文 URL 路径,但它不起作用

java - java中的单例

java - 使用 Java 中的 Office 365 REST API 构建守护程序或服务应用程序

elasticsearch - 在 Elasticsearch 查询的内联脚本中使用聚合函数

tomcat - 如何访问保存在 WEB-INF 文件夹中的配置文件

java - 注入(inject)类方法的读/写锁

java - 在 ArrayLists 中使用命令模式进行撤消和重做

hibernate - Grails - 非空属性引用空值或 transient 值

python - 使用作业DSL通过groovy脚本执行python脚本