从另一个班级获得价值

时间:2014-02-13 07:28:52

标签: java

我想通过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项目中这样做。

3 个答案:

答案 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”的对象。