and*_*and 4 java scjp javac classpath
这是“ SCJP模拟考试”中的一个示例问题:
给定默认的类路径:
/ foo
而这个目录结构:
Run Code Online (Sandbox Code Playgroud)foo | test | xcom |--A.class |--B.java和这两个文件:
Run Code Online (Sandbox Code Playgroud)package xcom; public class A { } package xcom; public class B extends A { }哪个允许B.java进行编译?(选择所有适用项。)
A.设置当前目录
xcom然后调用Run Code Online (Sandbox Code Playgroud)javac B.javaB.设置当前目录
xcom然后调用Run Code Online (Sandbox Code Playgroud)javac -classpath . B.javaC.设置当前目录进行测试然后调用
Run Code Online (Sandbox Code Playgroud)javac -classpath . xcom/B.javaD.设置当前目录进行测试然后调用
Run Code Online (Sandbox Code Playgroud)javac -classpath xcom B.javaE.设置当前目录进行测试然后调用
Run Code Online (Sandbox Code Playgroud)javac -classpath xcom:. B.java
答案是C,我不明白.那里的运算符的用法。请解释。
这本书说:
为了进行
B.java编译,编译器首先需要能够找到B.java。一旦找到B.java,就需要找到A.class。因为A.class在xcom软件包中,编译器无法找到A.class是否从xcom目录中调用了它。请记住,-classpath不是在寻找B.java,而是在寻找类B.java需要的任何东西 (在这种情况下A.class)。
我不明白这一点,如果两个文件都在同一个包中,为什么编译器找不到A?
| 归档时间: |
|
| 查看次数: |
5057 次 |
| 最近记录: |