2016-09-18 81 views
1

有人可以给我解释一下什么是POGO在Groovy和有POGO之间的任何差别POJO在Java?什么是POGO在常规

+1

首先谷歌结果o f groovy + POGO:https://www.accelebrate.com/blog/call-pogo-name/ – jalopaba

回答

0

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

0

POGO: - 普通老式的Groovy对象,在常规它被命名为POGO,否则是一样POJO: - 普通Java对象。两者都是一样的。

2

一个Groovy POGO确实有不同的行为给Java POJO,即:所有属性

  1. 隐式getter和setter
  2. 哪些类型访问修饰符的公共不论
  3. 它们包括更复杂的元编程功能比Java
  4. 和命名的基于地图的默认构造函数
+0

#4对Java和Groovy类都适用。基于地图的构造函数是在调用端强加的,而不是在被实例化的类中。 –

+0

#2似乎表明,如果你做'保护someProperty'或'私人someProperty'这个字段将公开,这是不正确的。按照规定,该字段将被“保护”或“私人”。 Groovy允许你直接从任何Groovy类访问这些成员,但它们仍然是'protected'或'private'。检查生成的字节码来验证。这种区别很重要,因为在不使用'setAccessible'的情况下,Groovy类中定义的'private'字段仍然不能直接从Java访问。 –

相关问题