如何在嵌套字段中使用setter

时间:2019-02-22 14:19:13

标签: java

我想为嵌套类中的字段设置值。如何在下面的代码中设置abc字段的值?谢谢。

我有以下代码

public class A {
    private String a1;
    private B b;

    public String geta1(){
        this.a1 = a1;
    }

    public B getB(){
        return B;
    }

    public void setB(B b){
        this.B = b;
    }
}

public class B {
    private String abc;

    public String getabc(){
        return abc;
    }

    public String setabc(String value){
        this.abc = abc;
    }
}

public class Test {
    public void useMethod() {
        A data = new A();
        data.setB().setabc("value");
    }
}

2 个答案:

答案 0 :(得分:0)

如果要先设置对象B,则需要先创建它,然后从A类获取该对象,然后设置abc的值

public class Test {
    public void useMethod() {
        A data = new A();
        data.setB(new B());
        data.getB().setabc("value");
    }
  }

并更改此方法this.B = b;到this.b = b;

答案 1 :(得分:0)

已链接

data.getB().setAbc("abc");

或者如果您想要更统一的界面

class A {
     //other stuff
    public void setAbc(String value) {
        if (b != null) {
             b.setAbc(value);
        }
        //error handling if b is null?
    }
}

然后

data.setB(new B());
data.setAbc("ABC");