如果一个A类中包含B类的变量bi和C类的变量ci.而B类和C类都含有构造函数.请问如何初始化一个A类变量

class A
public
B bi(int b)
C ci (int c)

class B
pubilc
B(int b)

class

如何初始化一个A类变量


class B{
    private String name;
    public B() {

    }
    public B(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "B{" +
                "name='" + name + '\'' +
                '}';
    }
}
class C{
    private String sex;
    public C() {

    }
    public C(String sex) {
        this.sex =sex;
    }

    @Override
    public String toString() {
        return "C{" +
                "sex='" + sex + '\'' +
                '}';
    }
}
class A{
    private B bi;
    private C ci;

    public A(B bi, C ci) {
        this.bi = bi;
        this.ci = ci;
    }

    public A() {

    }

    @Override
    public String toString() {
        return "A{" +
                "bi=" + bi +
                ", ci=" + ci +
                '}';
    }
}

public class Test {
    public static void main(String[] args) {
        //A类变量初始化的方法一(B和C类使用无参构造)
        A a1=new A(new B(),new C());
        System.out.println("a1变量的内容为:"+a1);
        //A类变量初始化的方法二 调用其有参构造
        A a2=new A(new B("张三"),new C("男"));
        System.out.println("a2变量的内容为:"+a2);
    }
}

运行截图如下所示

img