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

Why the classpath in A does not compile?

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

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

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

这两个文件:

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

哪个允许 B.java 编译?

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

乙。将当前目录设置为测试然后调用 javac -类路径。 xcom/B.java

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

提前致谢

因为它正在寻找包 xcom 作为 xcom.

的子目录

classpath 设置为 ..,选项 A 有效。