如何从另一个类JAVA访问变量

时间:2019-02-23 19:55:14

标签: java oop object

因此,我正在开发一个用于模拟收集系统的程序,主系统接收物品,但是有不同类型的物品,例如需要id检查的物品...我正在使用多态方法来访问这些物品但是,对于类,我可以根据访问其他类的方法中发生的情况从主类更改变量。

EX:

select count(*)
from (select code
      from t
      group by code
      having max(a) is null and max(b) is null
     ) t;

让我们说我必须保持所有非散装物料的预期重量,并在itemCollection类中有一个称为散装的变量,我如何使用此物料不是散装的事实。我可以从Almorphous类的AlcoholItem类方法中更改AlcoholItem类的itemCollection的bulk变量吗?

1 个答案:

答案 0 :(得分:0)

  

如何从另一个JAVA类访问变量?

通常,您希望避免这种情况,并希望使用该方法:getter检索值,setter设置其他类的对象的值。

  

我可以从AlcoholItem类方法中获取多态吗?   可以从AlcoholItem更改itemCollection的bulk变量   类?

添加大宗商品并不意味着所有项目都是大宗商品。您应该对bulk中的ItemCollection字段给出清晰的语义。

关于更新集合中没有散装物品的重量,我会用另一种方式来做,因为物品的收藏取决于物品:当您在集合中添加一个物品时,请检查该物品是否不散装,如果不是,请根据以下内容更新收藏集的权重。
通常,您希望尽可能避免类/对象之间的双向耦合。
您还应该在项目类/接口中定义一个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.
   }
   // ...
}