おはよう!Javaコンストラクタ
私は次のようにコンストラクタをオーバーロード作成:
public ContactsBean(String firstName, String lastName,
String telNumber, String email) {
this.id = count;
count = count + 1;
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
this.telNumber = telNumber;
}
public ContactsBean() {
this.id = count;
count = count + 1;
}
私は自動インクリメントにIDをしたいので、私は、この変数を使用:
private static int count;
private int id;
私はContactsBean() contacts = new ContactsBean()
をインスタンス化するとき私の問題は、あります、 idの値は2 ... 2,4,6,8 ...などとなります。
なぜですか? ID増分の自動番号を1だけ行うにはどうすればよいですか?
ありがとうございます。
EDIT:
処置:
private ContactsBean contacts = new ContactsBean();
private ContactsManager contactsManager = new ContactsManager();
public String add() {
contactsManager.addContacts(contacts);
return SUCCESS;
}
マネージャー:
private ContactsDAO contactsDAO = ContactsDAO.getInstance();
private List<ContactsBean> contactsList = contactsDAO.getContactsList();
public void addContacts(ContactsBean contact) {
contactsList.add(contact);
}
は短いが完全なプログラムをご提示くださいwhic hは問題を示します。 –
呼び出しコードに何か問題があるはずです。同じ変数を2回以上初期化する必要があります。 –
他のコンストラクターが呼び出されないため、オーバーロードはここでは問題になりません。問題はこのスニペットの外で、おそらくこのBeanをインスタンス化するコード内にあります。任意のフレームワークを使用していますか、それとも普通のJavaですか? –