为何我用newInstance返回对象的时候会报错呢?

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:37:10
为何我用newInstance返回对象的时候会报错呢?
如题
dao工厂:
public class DaoFactory {
public static Object getInstance(String name) throws Exception{
return Class.forName(name).newInstance();
}
}

在action这样调用:
MessageDAO messageDAO=(MessageDAO)DaoFactory.getInstance("MessageDAOImpl");

其中MessageDAO是MessageDAOImpl的接口。

daoFactory和MessageDAOImpl放在同一个包下的。
报的错是:
ClassNotFoundException --MessageDAOImpl---

youngmaster007,我打算用的就是String name,你用Object obj的话我这个工厂就没有意义了...

出错应该是在forName() ,name只是类的名字 而forName()参数要求的是全名

所以应该把包名加在name前面!

public class DaoFactory {
public static Object getInstance(Object obj) throws Exception{
return Class.forName(obj).newInstance();
}
}

报的什么错?