这是一个scjp模拟考试题.
假设我有以下两个文件:
package pkg; public class Kit { public String glueIt (String a, String b) {return a+b;} } import pkg.*; class UseKit { public static void main(String[]args) { String s = new Kit().glueIt(args[1],args[2]); System.out.println(s); } }
以下目录结构:
test |--UseKit.class | com |--KitJar.jar
当前目录是test
,文件pkg/Kit.class
在KitJar.jar
根据答案,产生输出bc的java调用是
java -classpath com/KitJar.jar:. UseKit a b c
请解释运营商":"和"."的使用.
:
是Java类路径中条目的分隔符..
表示"当前目录".因此,类路径com/KitJar.jar:.
意味着在两个位置查找Java类文件:com/KitJar.jar
和当前目录.
接受的答案是正确的,但它可能已经提到类路径分隔符实际上是平台相关的,如注释中所指出的那样.
有关更多信息(包括类路径通配符的说明)以及有关如何清理CLASSPATH
环境变量的详细说明,请参阅设置类路径技术说明(和/或设置*nix版本的类路径).