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我得到以下错误,

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)