第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創(chuàng)建成員變量的實例

創(chuàng)建成員變量的實例

一只甜甜圈 2023-07-28 15:17:34
您好,這是一個基本問題,但請耐心等待。我有兩個班級,班級上有另一個班級的參考。我如何創(chuàng)建在創(chuàng)建第一類實例時存在于第一類中的第二類實例。是否有任何實用程序可以實現(xiàn)此目的。代碼 ::class A  {  B b;}class B { int member;}
查看完整描述

3 回答

?
揚帆大魚

TA貢獻1799條經(jīng)驗 獲得超9個贊

在構(gòu)造函數(shù)中(就像羅伯特·科克已經(jīng)說過的那樣)

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;

  }

}


查看完整回答
反對 回復(fù) 2023-07-28
?
猛跑小豬

TA貢獻1858條經(jīng)驗 獲得超8個贊

在第一個類的構(gòu)造函數(shù)中:


class A 

{

  public A()

  {

    b = new B();

  }


  B b;


}

或者甚至像這樣:


class A 

{

  public A()

  {

  }


  B b = new B();


}


查看完整回答
反對 回復(fù) 2023-07-28
?
慕蓋茨4494581

TA貢獻1850條經(jīng)驗 獲得超11個贊

一般的解決方案是:


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);

類本身創(chuàng)建另一個實例的答案不是通用的解決方案。


查看完整回答
反對 回復(fù) 2023-07-28
  • 3 回答
  • 0 關(guān)注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號