java - 相互传递多个对象

标签 java oop pass-by-value

这是一个有点奇怪的问题,我有一个GUI类,它在构造函数中启动一个Logic类,负责处理或物流中的处理然后,应用程序是一个 Handler 类,其中包含一堆 ActionListners KeyListeners,它们附加到 GUI 中的 UI 组件> 类

LogicHandler 类的构造函数中,我将 GUI 类作为参数,以便能够操作 GUI 组件在 GUI 类中从 LogicHandler 类创建

我的问题是 Handler 使用 Logic 类,反之亦然(Logic 类使用 Handler 类),这对于我上面描述的方法来说是不可能的,一个是另一个之前的实例,当尝试使用另一个时,一个将为 null。

示例:

public class GUI() 
{
    this.handler = new Handler(this);
    this.logic = new Logic(this);
}

如果 handler 尝试在 logic 中使用某些内容,则将返回 null

解决此问题的一种方法是为处理程序设置一个setter来获取逻辑,反之亦然,但这似乎不是问题的答案。

最佳答案

简单:

public class GUI() 
{
    this.handler = new Handler(this);
    this.logic = new Logic(this);
    handler.setLogic(logic);
    logic.setHandler(handler);
}

关于java - 相互传递多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13115297/

相关文章:

java - 构建并上传 jar 到 jcenter

c# - 有人想过以这种方式使用黑板模式吗?

go - slice 是按值传递的吗?

C-函数参数和指针

c++ - 为什么对按值传递的参数使用 const?

java - 无法找到类注释

java - 您能推荐一个用于读取(也可能写入)CSV 文件的 Java 库吗?

java - 处理多种类型的错误

javascript - TypeScript:接口(interface)多态性问题

php - 类文件的文件名 : file. class.php 或 file.php?