什么是java pojo类、java bean、普通类? [复制]
Posted
技术标签:
【中文标题】什么是java pojo类、java bean、普通类? [复制]【英文标题】:What is java pojo class, java bean, normal class? [duplicate] 【发布时间】:2012-09-13 03:08:43 【问题描述】:可能重复:Difference between DTO, VO, POJO, JavaBeans?
嗨,请不要说我的问题是重复的 :-) 我看到了所有问题,但不明白确切的区别。
谁能用简单的语言解释一下POJO
、Bean
、Normal Class
是什么?
【问题讨论】:
【参考方案1】:POJO = 普通旧 Java 对象。它具有相应属性的属性、getter 和 setter。它还可以覆盖Object.toString()
和Object.equals()
。
Java Beans:见Wiki link。
普通类:任何 java 类。
【讨论】:
POJO 和 Beans 的唯一区别是 Beans 应该实现 Serializable 接口?【参考方案2】:POJO 代表普通旧 Java 对象,用于描述与“普通类”相同的事物,而 JavaBean 遵循一组规则。最常见的 Bean 使用 getter 和 setter 来保护它们的成员变量,这些变量通常设置为私有并且有一个无参数的公共构造函数。 Wikipedia 对 JavaBeans 有很好的介绍:http://en.wikipedia.org/wiki/JavaBeans
POJO 通常用于描述不需要是任何东西的子类,或实现特定接口,或遵循特定模式的类。
【讨论】:
另外,JavaBeans 应该实现 Serializable 接口。 我在春天创建 bean 时没有。【参考方案3】:Normal Class
:Java 类
Java Beans
:
Pojo
:
普通旧 Java 对象是一种 Java 对象,除了 Java 语言规范强制的限制之外,不受任何限制。即,POJO 不应该有
【讨论】:
我听说除了无参数构造函数 pojo 和 bean 是一样的吗? java bean,实现Serializable意味着每次我们必须手动实现Serializable? 一个公共的无参数构造函数:我认为每个类都有自己的无参数构造函数,如果是正确的,为什么你只为bean指定?对不起,如果我错了,我更新鲜。 如果你没有为类指定任何构造函数,那么只有java会隐式创建无参数构造函数。 @firstpostcommenter 从person who coined the term 获取 POJO 的描述可能很有用。 (“将业务逻辑编码为常规 Java 对象而不是使用实体 Bean”)。换句话说,POJO 是一个用来描述“普通的旧 Java 对象”的名称,以便对比 Java bean。 POJO 是特定于域/业务对象的,因此不一定所有 Java 类都是 POJO以上是关于什么是java pojo类、java bean、普通类? [复制]的主要内容,如果未能解决你的问题,请参考以下文章