Junior
Was ist der Unterschied zwischen einem normalen Objekt und einem JavaBean?
sobes.tech KI
Antwort von AI
Der Unterschied liegt in der Einhaltung der Benennungskonventionen (Großbuchstabe nach "get/set/is") für Zugriffsmethoden auf Eigenschaften, der Anwesenheit eines parameterlosen Konstruktors und der Serialisierbarkeit. Dies ermöglicht die Verwendung von JavaBeans mit Frameworks und Tools, die auf Introspektion basieren.
Ein normales Objekt muss diese Regeln nicht befolgen.
public class SimpleObject {
private String name;
public SimpleObject(String name) { // Beliebiger Konstruktor
this.name = name;
}
public String retrieveName() { // Nicht standardmäßige Benennung von get
return name;
}
}
import java.io.Serializable;
public class JavaBean implements Serializable { // Serialisierbar
private String name;
public JavaBean() { // Parameterloser Konstruktor
}
public String getName() { // Standardmäßige Benennung des Getters
return name;
}
public void setName(String name) { // Standardmäßige Benennung des Setters
this.name = name;
}
}
Wesentliche Unterschiede:
| Kriterium | Gewöhnliches Objekt | JavaBean |
|---|---|---|
| Konstruktor ohne args | Nicht erforderlich | Erforderlich |
| Methodennamen | Beliebig | get/set/is + Eigenschaftsname |
| Serialisierbarkeit | Nicht erforderlich | Wünschenswert/Erforderlich für einige Frameworks |
| Verwendung | Allgemeiner Zweck | Komponentenmodell, Frameworks (Spring, EJB) |