我想通过setter和getter从A类到B类获得一个值。
在A组中,我像这样设置了setter和getter:
public class A {
String value;
public String getvalue() {
return value;
}
public void setvalue(String value) {
this.value = value;
}
...
public void taskA() {
GsonRequest<> myReq = new GsonRequest<>(someTask());
}
private someTask(){
String encrypted = "Some string";
setvalue(encrypted);
}
}
在B组中,我想在A类中使用getter来获取它的值。
public class B {
A a;
private void callTask() {
a = new A();
Log.d("Value", a.getvalue());
}
}
“value”返回null。我该如何解决这个问题?
编辑:我在Android项目中这样做。答案 0 :(得分:4)
value
在使用前未初始化且为String
类型,默认值为null
。因此,您获得的价值为null
。
您需要使用下面的setter方法显式设置value
。
private void callTask() {
a = new A();
//Set Value Here
a.setvalue("Your Value Goes Here ");
// Get Value Here
Log.d("Value", a.getvalue());
}
答案 1 :(得分:0)
您必须返回value
public String getvalue() {
return value;
}
确保在获得之前设置value
的值。否则将返回默认值null
此处
答案 2 :(得分:0)
我认为您只想将创建对象的引用从类“A”传递给类“B”的方法或构造函数:
public class B {
private void callTask(final A a) {
Log.d("Value", a.getvalue());
}
}
当然,在将它传递给类“B”的“callTask(A)”方法之前,需要创建类“A”的对象。