【问题标题】:using one classe's created object in another class in two seperate runs在两个单独的运行中使用一个类在另一个类中创建对象
【发布时间】:2014-07-16 11:52:35
【问题描述】:

我有两个 .java 文件需要一个接一个地通过终端运行。第一个创建了一个对象myObject,它需要在运行完成后留在内存中,以便被第二个类修改。 myObject 是公共的,所以两个类都可以访问它,但是在第一次运行 .java 之后它是空的。

有没有办法做到这一点? 或者有没有办法保留对象并将其作为参数传递给第二类 main?

【问题讨论】:

  • 你需要序列化。
  • ..或数据库,或文件中的数据,或...
  • 感谢@Sanjeev 的即时回复,看来这就是答案。我的对象真的很复杂,里面存储了很多数据,我真的很想避免创建数据文件然后解析它的场景。

标签: java object memory parameters


【解决方案1】:

您可以将 java 文件的两个 main 方法的代码合并到第二个 java 文件中的一个 main 方法中。第二个文件的 main 方法可以创建第一个类的实例,运行必须运行的任何内容,并将生成的对象用作第二个类完成的处理的输入。

如果您必须运行两个主要方法,则必须保留第一个对象的状态(例如 - 将其序列化到文件中),而第二个文件的主要部分必须从文件中恢复对象.

【讨论】:

    【解决方案2】:

    当一个程序退出时,它的所有内存和资源都会被回收,而不是您在一个程序中创建的对象实际上可供另一个程序使用。

    有没有办法做到这一点?

    你需要

    • 有一个程序可以在不重新启动的情况下执行这两项操作。它可以有一个命令行输入来接受它的参数。
    • 将对象保存到磁盘或其他存储中,以便第二个程序可以获取它。
    • 使用对象位于程序中的服务,该程序在第二个程序启动时仍在运行。这更快,但实施起来更复杂。

    或者有没有办法保留对象并将其作为参数传递给第二类 main?

    是的,但仅限于同一程序内。您可以让一个 main() 调用另一个 main(),因为它们与任何其他方法一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多