私は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;}
すばやい返信ありがとうございます。私はそれらを変更できない(または値を割り当てる)ことができないと考えていたため、最初は宣言していませんでした。セッター(これはうまくいかない)を使ってなぜこれが違うのか理解できますか?彼らは値を受け取った後でのみ最終的に設定されるからですか?それともコンストラクターで作成されたのでしょうか? – Immanuel
ファイナルは、コンストラクタによるオブジェクトの作成時にのみ設定できます。 – zeb
ありがとうございます! – Immanuel