如何导入 java 包

How to import java package

我有两个文件夹 ab:

我想 ClassB.java 导入 ClassA.java。我该怎么做?

如果只写import a.ClassA,编译不了

可能您忘记了在 类 中声明包,没有该信息 Java 不知道导入的 类 属于包。

检查你的 类 是否像这样:

// ClassA.java
package a;    

class ClassA { 
  ... 
}    

// ClassB.java       
package b;

import a.ClassA;    

class ClassB {
   ...    
}

您的文件夹结构必须是这样的:

src    
-- src/a   
----- ClassA.java   
-- src/b    
---- ClassB.java

然后转到 src 文件夹并键入:

Javac ./a/ClassA.java ./b/ClassB.java

根据您的评论,您似乎在 类 中添加了包声明,例如

package a;
public class ClassA{
    //...       
}

并且根据您的问题,您声称您还在 ClassB 中包含了 import a.ClassA,例如

package b;
import a.ClassA;
public class ClassB{
    //...       
}

因此,要从 b 目录编译您的 ClassB,您需要在您的命令中包含您将要使用的其他包的本地化,在本例中是目录保存目录 a 的本地化。您可以通过设置 -classpath 参数(或更短的 -cp)来实现。

因此,如果您在文件夹 b 中,您可以通过

javac -cp .. ClassB.java

其中 .. 表示父目录(包含 ab 的目录)。

对于 运行 您的代码,您还需要指向保存应用程序使用的其他包的目录位置。所以你需要使用

java -cp .. b.ClassB