是否可以在另一个类中使用非静态公共int?
我希望有一些类,这些类具有有用的功能和静态信息,这些信息可以在不同软件包中的许多其他类中使用。
info.longrandom
因为它是非静态的所以不起作用。
package common.info
public class info {
public int veryshortrandom = (int)(Math.random() * 500 + 1001);
public int shortrandom = (int)(Math.random() * 1000 + 2001);
public int mediumrandom = (int)(Math.random() * 1500 + 3001);
public int longrandom = (int)(Math.random() * 3000 + 6001);
public int verylongrandom = (int)(Math.random() * 6000 + 1201);
}
我希望有类似的东西:
return info.longrandom
答案 0 :(得分:1)
您只能使用类名访问类的成员,因为只有该成员是静态的。由于静态成员是在全局内存中声明的,与非静态成员不同,后者仅在该类中本地存在。否则,您始终需要创建实例。
答案 1 :(得分:0)
您将需要做一个吸气剂。有两种方法: 通过执行以下操作创建类的新实例 1:
Info info = new Info();
然后通过执行以下操作获取整数:
int i = info.veryshortrandom;
或
return info.veryshortrandom;
2。 将其设为静态:|
祝你好运! -Thibaut
答案 2 :(得分:0)
非静态属性必须绑定到实例。怎么不创建实例就可以获取它!!
答案 3 :(得分:0)
返回新的info()。longrandom;
– XtremeBaumer