Junior
Qual é a diferença entre um objeto comum e um JavaBean?
sobes.tech IA
Resposta da IA
A diferença reside na conformidade com as convenções de nomenclatura (letra maiúscula após "get/set/is") para os métodos de acesso às propriedades, na presença de um construtor sem argumentos e na serialização. Isto permite usar JavaBeans com frameworks e ferramentas baseadas em introspecção.
Um objeto normal pode não seguir estas regras.
public class SimpleObject {
private String name;
public SimpleObject(String name) { // Qualquer construtor
this.name = name;
}
public String retrieveName() { // Nomeação não padrão de get
return name;
}
}
import java.io.Serializable;
public class JavaBean implements Serializable { // Serializável
private String name;
public JavaBean() { // Construtor sem argumentos
}
public String getName() { // Nomeação padrão do getter
return name;
}
public void setName(String name) { // Nomeação padrão do setter
this.name = name;
}
}
Diferenças principais:
| Critério | Objeto normal | JavaBean |
|---|---|---|
| Construtor sem args | Opcional | Obrigatório |
| Nomeação dos métodos | Qualquer | get/set/is + nome da propriedade |
| Serializabilidade | Opcional | Desejável/Obrigatório para alguns frameworks |
| Uso | Propósito geral | Modelo de componentes, frameworks (Spring, EJB) |