当前位置: 代码迷 >> Java Web开发 >> 为啥这样
  详细解决方案

为啥这样

热度:5106   发布时间:2016-04-11 00:02:21.0
为什么这样?

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()方法有点画蛇添足了,不知它具体有什么特殊作用???求指点
instance 工厂类

------解决方案--------------------
这是单例模式。你这里createDao方法没有用到instance这个变量,所以你觉得那个没什么用处,当你好多方法用到这个instance的时候,那个getInstance就是返回当前唯一一个对象,去执行这些操作。
  相关解决方案