簡體   English   中英

如何從另一個類 JAVA 訪問變量

[英]How can I access variables from another class JAVA

所以我正在開發一個程序來模擬收集系統,主系統接收項目,但有不同類型的項目,例如需要 id 檢查等的項目......我正在使用多態方法來訪問這些不同的類但是是我可以根據訪問另一個類的方法中發生的情況更改主類中的變量。

前任:

itemCollection firstCollect = new itemCollection();
Item test = new AlcoholItem(5.94, false, 3.76. 0.06) // takes in weight, bulk, price, and sinTaxRate.

假設我必須為所有非批量項目保留預期的集合重量,並且在 itemCollection 類中有一個名為 bulk 的變量,我如何使用該項目不是批量的這一事實。 我可以從多態的AlcoholItem 類方法中更改AlcoholItem 類中的itemCollection 批量變量嗎?

如何從另一個類 JAVA 訪問變量?

通常,您希望避免這種情況,並喜歡使用這種方法:從其他類的對象中檢索值的 getter 和設置值的 setter。

我可以從多態的AlcoholItem 類方法中更改AlcoholItem 類中的itemCollection 批量變量嗎?

添加大宗商品並不意味着所有商品都是大宗商品。 您應該對ItemCollectionbulk字段給出明確的語義。

關於更新集合中沒有批量項目的權重,我會以另一種方式做事情,因為項目的集合取決於項目:當您在集合中添加項目時,檢查該項目是否不是批量的,如果是not :根據更新集合的權重。
通常,您希望盡可能避免類/對象之間的雙向耦合。
您還應該在項目類/接口中定義一個boolean isBulk()方法。

ItemCollection類中, add()可能如下所示:

public void add(Item item){
   if (!item.isBulk()){
      weight += item.getWeight();
   }
   else{
       bulk = item.isBulk(); // as discussed check the relevance of this flag.
   }
   // ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM