为什么这样?

xingshen100 2013-10-21 10:44:13

package cn.itcast.utils;

public class DaoFactory {
private DaoFactory(){}
private static final DaoFactory instance=new DaoFactory();//单例化
public static DaoFactory getInstance(){
return instance;
}

public <T> T createDao(String className,Class<T> clazz){
try {
return (T) Class.forName(className).newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}

}

}


这个工厂类,使用时这样:Dao.getInstance().createDao(*,*) 为何要有getInstance()这个方法,直接把createDao()方法设为static. 而后这样Dao.createDao(*,*)不行吗?我感觉这个getInstance()方法有点画蛇添足了,不知它具体有什么特殊作用???求指点
...全文
172 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
无聊找乐 2013-10-21
  • 打赏
  • 举报
回复
提供了一个单例的方法而已
teemai 2013-10-21
  • 打赏
  • 举报
回复
这是单例模式。你这里createDao方法没有用到instance这个变量,所以你觉得那个没什么用处,当你好多方法用到这个instance的时候,那个getInstance就是返回当前唯一一个对象,去执行这些操作。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧