我有那些2層的構造函數:構造函數名稱相同,但不同的簽名不運行
public StockItem(Long id, String name, String desc, double price) {
this.id = id;
this.name = name;
this.description = desc;
this.price = price;
}
public StockItem(Long id, String name, String desc, double price, int quantity) {
this.id = id;
this.name = name;
this.description = desc;
this.price = price;
this.quantity = quantity;
}
在另一類這樣做:
StockItem item2 = new StockItem();
item2.setId(Long.parseLong(idField.getText()));
item2.setName(nameField.getText());
item2.setDescription(descField.getText());
item2.setPrice((double) Math.round(Double.parseDouble(priceField.getText()) * 10)/10);
item2.setQuantity(Integer.parseInt(quantityField.getText()));
System.out.println(item2);
輸出是:
id, name, desc, price
爲什麼不把數量放入item2? 如果我這樣做:
System.out.println(Integer.parseInt(quantityField.getText()));
它能給我的數量。
任何人都可以告訴我爲什麼它沒有意識到使用第二個StockItem構造函數。即使在刪除第一個StockItem構造函數後也嘗試過。
你甚至不*調用構造函數,你可以調用setter。你的二傳手是否壞了? – 2014-10-28 12:55:56