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