【问题标题】:Can I build multiple classes into one .class file in Java?我可以在 Java 中将多个类构建到一个 .class 文件中吗?
【发布时间】:2014-02-01 22:19:55
【问题描述】:

我正在使用 COMSOL Multi-physics 打开一个 .class 文件,它对一个 .class 文件运行良好,但我无法一次打开多个 .class 文件。我的问题是我希望能够在我打开的类中构建更复杂的对象,但是当我导入这些类并构建项目时,我最终会得到多个 .class 文件。当我在 COMSOL 中打开主 .class 文件时,出现“运行 java 类时出错”,我认为这是因为我只打开了一个类。

我对 Java 编程不是很熟悉,但我开始尝试将我的类放在一个文件中,但是当我构建时仍然有 3 个输出 .class 文件。此外,万一这很重要,我正在 Windows 7 机器上运行并使用 Eclipse...我将不胜感激任何建议。

【问题讨论】:

  • 每个新类都有自己的.class 文件,无论是顶级、嵌套、匿名等
  • 谢谢@SotiriosDelimanolis。这有助于了解。对于如何在一个类中创建更复杂的对象,您有什么建议吗?
  • 我不明白你的意思。举个例子吧。
  • 我怀疑@Charlie 需要一种方法将整个项目的生成代码封装在一个文件中。基于这个假设,我建议生成一个 jar 文件。
  • 我想我希望这个类“拥有”另一个类的对象。我想这就像支持封装?我想我可能会考虑将外部 .jar 文件添加到 COMSOL 的默认目录中。也许那时它可以访问这些类。如果我不清楚,我很抱歉,我对java不是很熟悉。

标签: java eclipse class build encapsulation


【解决方案1】:

每个类都需要一个 .class。通常的解决方案是将它们组合成一个.jar。 .jar 文件可以作为单个文件下载和移动,无论它代表多少类。您可以标记它以识别主类,因此它可以像单个类文件一样运行。

创建 .jar 是 Eclipse 中用于文件导出的选项之一

【讨论】:

  • 部分问题还可能是在打开 OP 正在编写的类时将相关代码添加到 COMSOL 的类路径中。
  • 谢谢@Patricia,我认为这可能是最有前途的方法。
  • 我认为您可能是对的@chrylis,我将对此进行调查并导出 .jar 文件。谢谢大家!这非常有帮助!
  • 我快速搜索了COMSOL jar,并找到了例如(comsol.com/community/forums/general/thread/33659),其中包括将 jar 作为插件加载的答案说明之一。看起来 COMSOL 似乎可以识别 jar,我希望大多数可以使用 .class 文件的重要软件包都可以使用它。
  • 那个线程看起来正是我想要的。我按照指示进行操作,但它似乎不起作用。我在想也许我必须在我制作的每个类文件中导入 comsol 类文件,或者我只需要辅助文件而不需要进行模拟的文件。我将深入挖掘,但这看起来很棒。再次感谢@PatriciaShanahan
【解决方案2】:

不,你应该为你想要的每个类创建一个新的 .class 文件。

【讨论】:

    【解决方案3】:

    如果一个源文件有多个类,每个类都编译成一个单独的类文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-01
      • 2018-05-17
      • 1970-01-01
      • 2014-08-03
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      相关资源
      最近更新 更多