Sobes.tech
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)