代码之家  ›  专栏  ›  技术社区  ›  emen

从另一个类中获取值[closed]

  •  -5
  • emen  · 技术社区  · 12 年前

    我想通过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 回复  |  直到 12 年前
        1
  •  4
  •   Rahul    12 年前

    这个 value 未在使用前初始化 String 类型,默认值为 null 。因此,您的价值如下 无效的 .

    您需要显式设置 价值 使用其setter方法如下。

    private void callTask() {
        a = new A();
    
        //Set Value Here
        a.setvalue("Your Value Goes Here ");  
    
        // Get Value Here
        Log.d("Value", a.getvalue());
    }
    
        2
  •  0
  •   Ruchira Gayan Ranaweera    12 年前

    你必须归还 value

     public String getvalue() {
        return value;
     }
    

    并确保您正在设置 价值 在得到之前。否则将返回其默认值,即 null 在这里

        3
  •  0
  •   sk2212    12 年前

    我认为您只是想将已创建对象的引用从类“a”传递给类“B”的方法或构造函数:

    public class B {
    
        private void callTask(final A a) {
    
             Log.d("Value", a.getvalue());
        }
    }
    

    当然,您需要在将类“A”的对象传递给类“B”的“callTask(A)”方法之前创建它。