Programming difference between POJO and Bean
Solution 1
Only difference is bean can be serialized.
From Java docs - http://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html
Serializability of a class is enabled by the class implementing the java.io.Serializable interface. Classes that do not implement this interface will not have any of their state serialized or deserialized. All subtypes of a serializable class are themselves serializable. The serialization interface has no methods or fields and serves only to identify the semantics of being serializable.
Solution 2
the JavaBean class must implement either Serializable or Externalizable, must have a no-arg constructor,all JavaBean properties must public setter and getter methods (as appropriate) all JavaBean instance variables should be private
Vishnu
Updated on June 05, 2022Comments
-
Vishnu about 2 years
I have the following two classes. Can I say the first one is a POJO class and the second one as a Bean class?
1) POJO class, since it has only getter and setter method, and all the member are declared as private
public class POJO { private int id; private String name; public int getId() { return id; } public String getName() { return name; } public void setId() { this.id = id; } public void setName() { this.name = name; } }
2) Bean class - all the member variables are private, has getters and setters and implements
Serializable
interfacepublic class Bean implements java.io.Serializable { private String name; private Integer age; public String getName() { return this.name; } public void setName(String name) { this.name = name; } public Integer getAge() { return this.age; } public void setAge(Integer age) { this.age = age; } }
It also has a no-arg constructor.
-
Wundwin Born almost 10 years
-
-
Vishnu almost 10 yearscan i have a example for no-arg constructor. Thanks in advance
-
phani almost 10 yearspublic class TestBean implements java.io.Serializable { private String name; /** No-arg constructor (takes no arguments). */ public TestBean() { } public String getName() { return this.name; } public void setName(final String name) { this.name = name; }}
-
Vishnu almost 10 yearsthat means if i implement java.io.Serializable interface , it is a bean otherwise a pojo class. @ninad Pingale
-
Sachin over 8 yearsIf no arg constructor is absent in definition of POJO, But Serializable has been implemented in a POJO, would it be considered as a Bean ?
-
karlihnos about 7 yearsA Javabean SHOULD, not MUST implement Serializable
-
Admin almost 7 yearsAnd the bean, need a constructor, without arguments :)