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) |