2010-05-17 88 views
0

我已经在Eclipse中创建了一个项目,我定义的接口和动态类加载一个类,这个类是在项目目录, 所以我在这个代码我项目:制造类从动态类装载的类路径访问

if (handlerClassName != null) 
    { 
     TypeHandler typeHandler = null; 
     try { 
      typeHandler = (TypeHandler) 
      (Class.forName(handlerClassName).newInstance()); 

,但我得到这个异常: 抛出java.lang.ClassNotFoundException: “handlerClassName”

我应该怎么做才能让JVM中承认在我的项目类 “handlerClassName”?

感谢

回答

0

使用完整的类名在内的整个包,例如java.lang.String而不是像string这样的短名称。如果它实际上不在一个包中,那么修复它以使它在一个包中。无包类对于包中的类是不可见的。

+0

感谢Balusc,你说得对,我不得不将其更改为 (以Class.forName( “homework4。” + handlerClassName).newInstance()); 现在正在工作。 – Noona 2010-05-17 23:40:40

+0

不客气。按照[的Sun Java命名约定(http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html),然而,类名应该开始大写。 – BalusC 2010-05-17 23:46:08

+0

我在项目中使用了大写,handlerClassName只是一个别名。 – Noona 2010-05-17 23:57:37