天天看点

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”指针,但是当需要此行为的类数量增加时,该解决方案似乎并不优雅.

有任何想法吗?提前致谢!

最佳答案 我的建议是实现一个带接口的回调系统.您的每个类都相互通信应该实现这些.

这些类应该注册到创建类.

然后,他们可以在创建类中调用一个方法,该方法调用每个已注册类的接口方法并以这种方式传递数据.