可以說我正在構建一個FoodItem,並且我想輸入一個新項目,我想確保該項目的名稱不能改變,它的價格也是如此(意味着我不能使用Setter來改變它),但是我將能夠改變數量。如何將輸入(int,String等)轉換爲相同類型的最終變量?
我的問題如下所示:通過在構造函數中聲明結尾NAME和COST,我無法訪問它們,例如getName()或getCost()方法。 我希望我的問題很清楚,如果不是隻是問,我會回覆。
我還是一個java初學者,所以原諒我,如果我失去了一些明顯的東西,我在這裏學習!
public class FoodItem {
private int _quantity;
public FoodItem (String name, int cost, int quantity){ //
final String NAME = name;
final int COST = cost;
_quantity = quantity;
}
public String getName(){ return NAME;} //<-- obviously cannot be found
public int getCost(){ return _cost;}
public int getNumber(){ return NUMBER;}
public void setCost(int newCost){ _cost = newCost;}
感謝您的快速回復,我沒有嘗試在開始時聲明它們,因爲我認爲我無法更改它們(或爲它們分配值)。你能幫我理解爲什麼這是不同的,然後使用Setter(不起作用)。是否因爲只有在收到價值後才設定爲最終?或者它是在構造函數中創建的事實? – Immanuel
決賽只能在構造函數創建對象時設置。 – zeb
非常感謝! – Immanuel