Junior
Каква е разликата между обикновен обект и JavaBean?
sobes.tech AI
Отговор от AI
Разликата се състои в спазването на конвенциите за именуване (голяма буква след "get/set/is") за методите за достъп до свойства, наличието на конструктор без аргументи и сериализацията. Това позволява използването на JavaBeans с рамки и инструменти, базирани на интроспекция.
Обикновен обект може да не следва тези правила.
public class SimpleObject {
private String name;
public SimpleObject(String name) { // Всеки конструктор
this.name = name;
}
public String retrieveName() { // Не стандартно име на гетър
return name;
}
}
import java.io.Serializable;
public class JavaBean implements Serializable { // Сериализируем
private String name;
public JavaBean() { // Конструктор без аргументи
}
public String getName() { // Стандартно име на гетър
return name;
}
public void setName(String name) { // Стандартно име на сетър
this.name = name;
}
}
Ключови разлики:
| Критерий | Обикновен обект | JavaBean |
|---|---|---|
| Конструктор без args | Не е задължително | Задължително |
| Именуване на методите | Всяко | get/set/is + име на свойство |
| Сериализуемост | Не е задължително | Желателно/Задължително за някои рамки |
| Използване | Общи назначения | Компонентен модел, рамки (Spring, EJB) |