【问题标题】:how to compile a java package in linux command如何在linux命令中编译一个java包
【发布时间】:2014-10-01 00:41:25
【问题描述】:

我有2个java文件,(main.java,Test.java)在每个文件里面我写包adt;

我在 main.java 中编写了一个名为 ADT 的类,并在我的 Test.java 中调用了 ADT 类。

我要编译Test.java,

在命令行里面我写了 javac ~/Desktop/adt/Test.java

但我收到错误提示找不到 ADT,符号:ADT,位置:Test.java

谁能帮帮我?

【问题讨论】:

  • 在 Java 中,名为 ADT 的类的代码必须位于名为 ADT.java 的文件中。您不能在 Main.java 中声明除 Main 之外的类 :)
  • 不完全正确...您不能在 Main.java 中声明除 Main 之外的其他 public 类,尽管(隐式)私有类是有效的

标签: java linux


【解决方案1】:

由于您的Test.java 指的是ADT 类,因此您需要首先编译您的main.java,因为它包含ADT 类。

【讨论】:

    【解决方案2】:

    为了从Test 调用ADT 类,ADT 需要是一个公共 java 类,因此需要在它自己的 java 文件中,即ADT.java

    然后需要先编译ADT

    【讨论】:

      【解决方案3】:

      通常源文件应该在类名之后,所以类ADT应该在ADT.java

      如果您在 main.java 中声明 ADT 类 - 您需要将其声明为 public static 并在 Test.java 中引用 main.ADT

      在这两种情况下,您都应该先用 main/adt 文件编译这两个文件

      【讨论】:

        猜你喜欢
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 2014-11-07
        • 1970-01-01
        • 1970-01-01
        • 2011-06-15
        • 1970-01-01
        • 2013-01-01
        相关资源
        最近更新 更多