为什么A中的类路径不能编译?

时间:2018-03-19 10:47:32

标签: java classpath packages

我正在学习类路径以及如何在类路径中插入包文件,我在理解这个例子时遇到了问题。这是:

给定默认的类路径:               /富 而这个目录结构:

 foo
  |
 test
   |
   xcom
    |--A.class
    |--B.java

这两个文件:

package xcom;
public class A { }
package xcom;
public class B extends A { }

哪个允许B.java编译?

一个。将当前目录设置为xcom然后调用 javac -classpath。 B.java

B中。将当前目录设置为test然后调用 javac -classpath。 XCOM / B.java

只有B编译,我的问题是为什么不编译? 如果我们将当前目录设置为xcom,那么由于Acom中存在A.class,A也应该可以正常工作,但它没有,为什么会这样呢?

提前致谢

1 个答案:

答案 0 :(得分:1)

因为它正在寻找包xcom作为xcom的子目录。

classpath设置为..,选项A可用。