У меня есть класс, который я использую для хранения данных, которые я извлекаю из базы данных, которая имеет объекты в качестве полей.
Я хочу инициализировать объекты при создании экземпляра класса, чтобы избежать проблем с указателем null
.
Я думал, что где-то читал, что он не должен инициализировать поля в объявлении поля, потому что это может вызвать проблемы для Struts (но сейчас я не могу найти это утверждение), поэтому я инициализирую поля в конструкторе.
Мой вопрос:
Имеет ли значение, каким образом вы это делаете? Или вы вообще не должны этого делать и добавлять новые объекты только после создания экземпляра класса? Другими словами, я должен определить свой класс следующим образом:
public class MenuView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ProjectInfo projectInfo;
private PartyInfo partyInfo;
private RequestTableInfo requestTableInfo;
private PartyRequestInfo partyRequestInfo;
public MenuView(){
projectInfo = new ProjectInfo();
partyInfo = new PartyInfo();
requestTableInfo = new RequestTableInfo();
partyRequestInfo = new PartyRequestInfo();
}
за которыми следуют геттеры и сеттеры или что-то подобное.
public class MenuView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ProjectInfo projectInfo = new ProjectInfo();
private PartyInfo partyInfo = new PartyInfo();
private RequestTableInfo requestTableInfo = new RequestTableInfo();
private PartyRequestInfo partyRequestInfo = new PartyRequestInfo();
public MenuView(){ }
затем геттеры и сеттеры или вот так:
public class MenuView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ProjectInfo projectInfo;
private PartyInfo partyInfo;
private RequestTableInfo requestTableInfo;
private PartyRequestInfo partyRequestInfo;
public MenuView(){}
затем геттеры и сеттеры, а затем создайте экземпляр следующим образом:
MenuView menu = new MenuView();
menu.setProjectInfo(new ProjectInfo);