Sobes.tech
Junior

Mis vahe on tavalise objekti ja JavaBean vahel?

sobes.tech AI

Vastus AI-lt

Erinevus seisneb nimetamiskonventsioonide järgimises (suurtäht pärast "get/set/is") juurdepääsumeetoditel, ilmaargumendilise konstruktoriga olemasolus ja serialiseeritavuses. See võimaldab kasutada JavaBean'eid koos raamistike ja tööriistadega, mis põhinevad introspektsioonil.

Tavaline objekt ei pruugi neid reegleid järgida.

public class SimpleObject {
    private String name;

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

    public String retrieveName() { // Mitte standardne nimetus get
        return name;
    }
}
import java.io.Serializable;

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

    public JavaBean() { // Ilmaargumendiline konstruktor
    }

    public String getName() { // Standardne getter nimetus
        return name;
    }

    public void setName(String name) { // Standardne setter nimetus
        this.name = name;
    }
}

Peamised erinevused:

Kriteerium Tavaline objekt JavaBean
Ilmaargumendiline konstruktor Ei ole kohustuslik On kohustuslik
Meetodite nimetus Vaba get/set/is + omaduse nimi
Serialiseeritavus Ei ole kohustuslik Soovitatav/Kohustuslik teatud raamistikud jaoks
Kasutamine Üldine otstarve Komponendimudel, raamistikud (Spring, EJB)