天天看點

java 類之間通信_如何正确實作Java類之間的通信

我是

Java程式設計的初學者,我目前正在開發一個具有更複雜的類結構和GUI的應用程式.這可能是一個愚蠢的問題,但谷歌很難,是以我在這裡問.

我有一個主類,看起來像這樣:

package app;

public class App {

private FirstClass fc;

private SecondClass sc;

public App () {

fc = new FirstClass ();

sc = new SecondClass ();

// ... code continues ...

}

}

假設SecondClass是在.java檔案之外定義的(就像GUI表單一樣).有沒有辦法讓我從“sc”執行個體通路“fc”執行個體(或App執行個體的其他成員變量)(不傳遞“this”指針)?就像是:

class SecondClass {

public void someMethod() {

getWhoeverCreatedThisInstance().fc.getSomeData();

// ... code continues ...

}

}

如果沒有,我做錯了什麼?我的設計應該不同嗎?也許将“fc”設定為靜态?但是,如果我希望我的應用程式的更多類能夠互相通信,我應該将它們全部靜态化嗎?那麼有什麼非靜态的東西呢?我可以在“SecondClass”的構造函數中傳遞“App”或“fc”執行個體的“this”指針,但是當需要此行為的類數量增加時,該解決方案似乎并不優雅.

有任何想法嗎?提前緻謝!

最佳答案 我的建議是實作一個帶接口的回調系統.您的每個類都互相通信應該實作這些.

這些類應該注冊到建立類.

然後,他們可以在建立類中調用一個方法,該方法調用每個已注冊類的接口方法并以這種方式傳遞資料.