如何提及班级路径

时间:2012-08-28 18:44:08

标签: java classpath

如何在下面的代码中提及类的路径?

Class cl=Class.forName("SomeClass");

如果“SomeClass”位于调用类的同一目录中,则此方法很有效。但是如何从不同的目录中检查一个类,我看到它的语法就像xxxx.yyyy.class,但是无法弄清楚那些'x'和'y代表什么。请帮忙。 提前谢谢。

3 个答案:

答案 0 :(得分:3)

使用fully-qualified class name.例如,要使用java.lang包中的Java SE String类执行此操作:

Class clazz = Class.forName("java.lang.String");

答案 1 :(得分:1)

那些xxxyyy代表包名称。软件包通常由磁盘上的目录表示,其名称与软件包相同。创建类文件时,您可以通过在文件顶部指出package xxx.yyy来指定类所在的包。

如果没有包名称的"SomeClass"将尝试在默认包中加载名为SomeClass的类。

答案 2 :(得分:0)

使用Class.forName虽然确保处理可能的ClassNotFoundException异常。这是运行时异常,因此并不意味着您需要捕获它。这就是你如何知道你上课的路径是否正确的方法。问题是,如果找不到类,那么你的代码就会发生有趣的事情。

Class.forName(com.my.package.ClassName)