你如何在一個子類中有一個單身模式?例如在itemCatalog下面的代碼擴展項。我想用類項目你可以有一個單身人士作爲java的子類
public class ItemCatalog extends Item{
private static ItemCatalog instance = new ItemCatalog();
private Item itemCatalog[] = new Item[9];
private ItemCatalog(){
}
public static ItemCatalog getInstance(){
return instance;
}
public void populateCatalog(){
itemCatalog[0] = new Item("bb","Baked Beans",35);
itemCatalog[1] = new Item("cf","Cornflakes",100);
itemCatalog[2] = new Item("s0","Sugar",50);
itemCatalog[3] = new Item("tb","Tea Bags",115);
itemCatalog[4] = new Item("ic","Instant Coffee",250);
itemCatalog[5] = new Item("b0","Bread",50);
itemCatalog[6] = new Item("s0","Sausages",130);
itemCatalog[7] = new Item("e0","Eggs",75);
itemCatalog[8] = new Item("m0","Milk",65);
}
public void searchCatalog(String itemCode){
for (int i = 0; i < itemCatalog.length; i++){
if (itemCode.equals(itemCatalog[i].getItemCode())){
price = itemCatalog[i].getItemprice();
break;
}
}
}
編輯2的用getPrice吸氣:我想有這個類作爲一個單身和項目類,這是不是一個單獨的子類。
當我把超(字符串itemCode,字符串描述,詮釋價格)在構造函數中,我得到一個錯誤
編輯3:好的,我想我解決這行代碼的問題。我是新來java..stilling練習和學習:) ...感謝大家對你的洞察力
private ItemCatalog() {
}
private ItemCatalog(String itemCode,String description, int price){
super(itemCode,description, price);
}
編輯4:我不知道這是否是正確的,但想用類項目用getPrice方法返回作爲價格的searchcatalog的結果。這是否是正確的設計?
代碼有什麼問題? –
爲什麼你讓'getInstance'同步,爲什麼你的構造函數後面有一個分號? –
你已經在這裏有單身。你可以使'ItemCatalog'成爲最終的,所以沒有人可以創建'ItemCatalog'的子類。 –