Junior
Jaký je rozdíl mezi běžným objektem a JavaBean?
sobes.tech AI
Odpověď od AI
Rozdíl spočívá v dodržování konvencí pojmenování (velké písmeno po "get/set/is") pro přístupové metody k vlastnostem, v přítomnosti bezparametrického konstruktoru a serializovatelnosti. To umožňuje používat JavaBeans s frameworky a nástroji založenými na introspekci.
Obecný objekt nemusí těchto pravidel dodržovat.
public class SimpleObject {
private String name;
public SimpleObject(String name) { // Libovolný konstruktor
this.name = name;
}
public String retrieveName() { // Není standardní pojmenování get
return name;
}
}
import java.io.Serializable;
public class JavaBean implements Serializable { // Serializovatelný
private String name;
public JavaBean() { // Konstruktor bez argumentů
}
public String getName() { // Standardní pojmenování getteru
return name;
}
public void setName(String name) { // Standardní pojmenování setteru
this.name = name;
}
}
Klíčové rozdíly:
| Kritérium | Obecný objekt | JavaBean |
|---|---|---|
| Konstruktor bez argumentů | Nepovinný | Povinný |
| Názvy metod | Libovolné | get/set/is + název vlastnosti |
| Serializovatelnost | Nepovinná | Žádoucí/Povinná pro některé frameworky |
| Použití | Obecné určení | Komponentní model, frameworky (Spring, EJB) |