2014-02-06 141 views
0

甲困難情況下,我有三類:AB,和C對象:在訪問實例

在類A的代碼中,類B的實例和類C的實例被創建。

Class A{ 

    public A{ 

     B b = new B(); 
     C c = new C(); 

    } 

} 

BCget()set()方法,使接收有關他們的情況的信息,並操縱這些類的實例。

因此,類A能夠訪問bc,例如:

Class A{ 

    public A{ 

     B b = new B(); 
     C c = new C(); 

     int cLife = c.getLifePoints(): 

    } 

} 

我的問題是這樣的:

A可能能夠訪問實例bc,但我需要類B也能夠訪問實例c(通過'訪問'我的意思是獲取有關實例或操縱它的信息)。

我無法裏面B類簡單的寫:

int cLife = A.c.getLifePoints();

這是因爲類A不是一個靜態類。它有一個在另一個班級D中創建的實例。

但讓我們說,由於某種原因,我無法訪問類A的實例,以便從那裏檢索對c的引用。

是否有另一種方法從類B中訪問實例c?請tyr給我最'標準'的方式。任何其他方式也會很棒。

感謝

回答

1

如果你想B訪問C比如在A創建的,則需要將其引用傳遞到B實例,例如:

C c = new C(); 
    B b = new B(c);