两个java文件,在同一目录中,一个访问其他类/ s?

Run*_*tar 7 java command-line javac

我试图授予一个.java文件访问另一个.java文件中的类.我想在命令行上执行此操作.例如,如何使用下面的两个文件执行此操作?

文件:"ToImport.java"

package ABC;
public class ToImport {
    private String aName;
    public ToImport(String Name)  {
        aName = Name;
    }
    public String toString() {
        return("Text: " + aName);
    }
}
Run Code Online (Sandbox Code Playgroud)

文件:"TheImport.java"

package ABC;
public class TheImport {
        public static void main(String[] args) {
        ToImport abc = new ToImport("a");
        System.out.println("TEST: " + abc);
    }
}
Run Code Online (Sandbox Code Playgroud)

当我输入时javac ToImport.java我没有错误但是当我输入时javac TheImport.java我得到以下错误,

命令提示符错误消息

JB *_*zet 7

TheImport取决于班级ToImport.因此,在编译时,编译TheImport器必须也可以编译ToImport或访问已编译的ToImport类.

假设您有一个如下所示的目录,

src
??? ABC
    ??? TheImport.java
    ??? ToImport.java 
Run Code Online (Sandbox Code Playgroud)

另外,假设您在目录中src并希望编译为../classes.您必须使用以下命令之一:

javac -d ../classes ABC/ToImport.java ABC/TheImport.java
Run Code Online (Sandbox Code Playgroud)

要么

javac -d ../classes ABC/ToImport.java
javac -cp ../classes -d ../classes ABC/TheImport.java
Run Code Online (Sandbox Code Playgroud)

如果两个.java文件相互依赖,那么您必须像第一个命令一样同时编译它们.

另请注意,包应该全部小写以遵守Java命名约定.

要运行您可以输入的主程序,

cd ../classes
java ABC.TheImport
Run Code Online (Sandbox Code Playgroud)