Java 现有类之间的通信

Java 现有类之间的通信,java,swing,jframe,Java,Swing,Jframe,我很抱歉,如果这个问题看起来很基本,而且已经有了答案,但除非我把它变成一个合适的问题,否则谷歌不会找到它 我有一个主类,它是一个JFramethere,并且将只有一个对象,让我们称它为main,它创建并调用另一个JFrame类让我们称它为window2,但是,我仍然需要这个window2从已经存在的主类调用方法。通常情况下,window2会有一些类似于Main Menu=new Main;。 但是这显然创建了一个main的新对象,我仍然希望引用已经存在的对象并从中获取信息。依赖注入。答案取决于主

我很抱歉,如果这个问题看起来很基本,而且已经有了答案,但除非我把它变成一个合适的问题,否则谷歌不会找到它

我有一个主类,它是一个JFramethere,并且将只有一个对象,让我们称它为main,它创建并调用另一个JFrame类让我们称它为window2,但是,我仍然需要这个window2从已经存在的主类调用方法。通常情况下,window2会有一些类似于Main Menu=new Main;。
但是这显然创建了一个main的新对象,我仍然希望引用已经存在的对象并从中获取信息。

依赖注入。答案取决于主类是否是静态的,但假设不是:

在Window2:Main中创建主引用; 在Window2中创建一个方法:public void injectMainInstanceMain{this.main=main} 主要是Window2实例Window2。调用window2.injectMainInstancethis;
您现在应该可以在Window2中使用main.main方法进行操作了

您应该共享相关代码,但要指向当前实例的对象引用,请使用this关键字。我不太清楚,如果您已经有对象windows 2的行为,为什么要从对象main获取行为。。可以清楚地看到您的代码并理解您试图执行的操作..将main的引用传递给window2tank you,这很有效,是的,我的main方法不是静态的。我是一名初级程序员,我认为解决问题可能更容易,我以前从未听说过依赖注入,我甚至不确定这是否是一种正确的方法。但它是有效的,谢谢你。