如何导入java包

时间:2015-08-07 22:13:34

标签: java class import javac

我有两个文件夹ab

  • a中我有ClassA.java
  • b我有ClassB.java

我想ClassB.java导入ClassA.java。我怎么能这样做?

如果我只是写import a.ClassA,我就无法编译它。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

检查您的课程是否如下所示:

// 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

答案 2 :(得分:0)

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

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

根据您提出的问题,您声称自己还将import a.ClassA包含在ClassB中

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

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

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

执行此操作
javac -cp .. ClassB.java

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

要运行代码,您还需要指定包含应用程序使用的其他包的目录位置。所以你需要使用

java -cp .. b.ClassB