猿问

创建成员变量的实例

您好,这是一个基本问题,但请耐心等待。


我有两个班级,班级上有另一个班级的参考。我如何创建在创建第一类实例时存在于第一类中的第二类实例。是否有任何实用程序可以实现此目的。


代码 ::


class A  {

  B b;

}


class B {

 int member;

}


一只甜甜圈
浏览 94回答 3
3回答

扬帆大鱼

在构造函数中(就像罗伯特·科克已经说过的那样)class A  {  B b;  public A(){    b = new B();    b.member = 5;  }}直接作为属性class A  {  B b = new B(5);  }带初始化器class A  {  B b;  {    b = new B();    b.member = 5;  }}

猛跑小猪

在第一个类的构造函数中:class A {  public A()  {    b = new B();  }  B b;}或者甚至像这样:class A {  public A()  {  }  B b = new B();}

慕盖茨4494581

一般的解决方案是:public class A {    private final B b;    public A(B b) {        this.b = b;    }    }...A a = new A(new B());当两个实例相互引用时,这就变得很有趣,那么您需要在至少一个类中使用 setter:public class B {    private A a; // the field cannot be final in this case    public void setA(A a) {        this.a = a;    }    }....B b = new B()A a = new A(b);b.setA(a);类本身创建另一个实例的答案不是通用的解决方案。
随时随地看视频慕课网APP

相关分类

Java
我要回答