Sobes.tech
Junior

Czym różni się zwykły obiekt od JavaBean?

sobes.tech AI

Odpowiedź od AI

Różnica polega na przestrzeganiu konwencji nazewnictwa (wielka litera po "get/set/is") dla metod dostępowych do właściwości, obecności konstruktora bezargumentowego i serializacji. Umożliwia to korzystanie z JavaBeanów z frameworkami i narzędziami opartymi na introspekcji.

Zwykły obiekt może nie przestrzegać tych zasad.

public class SimpleObject {
    private String name;

    public SimpleObject(String name) { // Dowolny konstruktor
        this.name = name;
    }

    public String retrieveName() { // Nienormatywna nazwa get
        return name;
    }
}
import java.io.Serializable;

public class JavaBean implements Serializable { // Serializowalny
    private String name;

    public JavaBean() { // Konstruktor bezargumentowy
    }

    public String getName() { // Standardowa nazwa get
        return name;
    }

    public void setName(String name) { // Standardowa nazwa set
        this.name = name;
    }
}

Kluczowe różnice:

Kryterium Zwykły obiekt JavaBean
Konstruktor bez args Nieobowiązkowy Obowiązkowy
Nazewnictwo metod Dowolne get/set/is + nazwa właściwości
Serializowalność Nieobowiązkowa Zalecana/Obowiązkowa dla niektórych frameworków
Użycie Cel ogólny Model komponentów, frameworki (Spring, EJB)