我有两个班级
package xcom;
public class A { }
package xcom;
public class B extends A { }
目录结构是:
我首先编译了A.java,然后删除了A.java文件,以便xcom现在包含 B.java和A.class,现在终于再次使用xcom作为我编译的当前目录 B.java使用命令'javac B.java'和B.java是在同一目录中生成的,这个 是我困惑的地方,因为默认情况下javac命令不搜索当前 类的目录,为什么这个程序编译。请帮助!!
答案 0 :(得分:0)
javac
仅汇编B.java
。它不会重新编译A.java
。相反,它使用已编译的版本:A.class
,javac
期望存在于CLASSPATH
中。由于B.java
编译得很好,您的CLASSPATH
显然已正确设置。 A.java
的存在无关紧要。
以下是一些more information。