我正在尝试访问存储在“Constants.java”(私有类)中的java中的常量,并在另一个中使用它来在方法中对其进行评估。
我不允许更改Constants类,并且我尝试访问的常量按以下方式初始化:
xs
我尝试了以下内容:
public final int INVENTORY_MAX = 100;
但是Constants是私有的,没有它,它要求我创建一个局部变量。我也会将变量设为静态,但代码由教授给出,我不能以任何方式改变它。请帮忙!
谢谢。
编辑:以下是一个截图,显示Constants类是私有的。忽略常量下的错误消息。
答案 0 :(得分:5)
修改强> 它并不是说类是私有的,而是说构造函数是私有的。这意味着您无法在其外部创建类的实例。
所以你要做到以下几点:
Constants consts = Constants.getInstance();
if (h <= consts.INVENTORY_MAX)
答案 1 :(得分:2)
我愿意,但是如果我的教授给出的Constants类不允许&gt;我更改Constants类。
在他的代码中也有这种方法可能有用:
public static Constants getInstance() { if(instance == null) instance = new Constants(); return instance; }
根据您的修改
Constants
是Singleton,所以首先获取实例,然后直接访问该字段。
INVENTORY_MAX = 100;
Constants consts = Constants.getInstance(); // new Constants();
// ...
if (h <= consts.INVENTORY_MAX)