【问题标题】:What is POGO in groovygroovy 中的 POGO 是什么
【发布时间】:2016-09-18 09:09:02
【问题描述】:

谁能解释一下 groovy 中的 POGO 是什么?POGOPOJO 之间有什么区别吗?爪哇?

【问题讨论】:

标签: java groovy pojo pogo


【解决方案1】:

Groovy POGO 确实与 Java POJO 有不同的行为,即:

  1. 所有属性的隐式 getter 和 setter
  2. 无论类型访问修饰符如何,它们都是公开的
  3. 它们包含比 Java 更复杂的元编程功能
  4. 基于命名映射的默认构造函数

【讨论】:

  • #4 同样适用于 Java 和 Groovy 类。基于映射的构造函数是在调用端强加的,而不是在被实例化的类中。
  • #2 似乎暗示如果您执行protected somePropertyprivate someProperty 之类的操作,该字段将是公开的,这是不正确的。该字段将为指定的protectedprivate。使它看起来好像是公共的是因为 Groovy 允许您直接从任何 Groovy 类访问这些成员,但它们仍然是 protectedprivate。检查生成的字节码以验证这一点。这种区别很重要,因为在 Groovy 类中定义的 private 字段仍然不能在不使用 setAccessible 的情况下直接从 Java 访问。
【解决方案2】:

它只是一个普通的旧 Groovy 对象。相同的基本思想。您可以互换使用它们。

【讨论】:

    【解决方案3】:

    POGO:- Plain Old Groovy Object,在 groovy 中称为 POGO,否则与 POJO:- Plain Old Java Object 相同。两者都是一样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      相关资源
      最近更新 更多