所以我有一个int属性的类,它不能是静态的:
public class GetterId{
int id = 42;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
我想要访问这个" id"来自另一个类的属性,例如:
public class MainActivity
{
int id_bis;
id_bis = GetterID.getId();
}
但它不能这样,因为方法getId()和GetterId类的属性是非静态的......
这个问题有解决办法吗?
答案 0 :(得分:1)
在 MainActivity 类中创建 GetterId 类的对象。使用此对象,您可以访问 GetterId 类的变量和方法。
GetterId object = new GetterId();
object.getId();
object.setId(34);
int id = object.id;
答案 1 :(得分:0)
您必须创建GetterId类型的对象,然后从该对象调用getId。
GetterId obj = new GetterId();
obj.getId();
这是因为您的id必须与对象关联,因为每个对象可以具有不同的ID。我想这就是为什么你有id的setter函数。因此,要让程序检索正确的id,必须引用GetterId类型的对象。
答案 2 :(得分:0)
你可以创建一个单例类并使用getInstance来获取该对象的实例
示例:
public final class GetterId {
private static GetterId instance;
private GetterId(){}
public static GetterId getInstance(){
if (instance == null) {
synchronized (GetterId.class) {
if (instance == null) {
instance = new GetterId();
}
}
}
return instance;
}
}
然后,只要你需要引用该对象,只需调用
GetterId getter = GetterId.getInstance()
id_bis = getter.getId();
应该在任何地方给你相同的参考,你可以正常使用该对象