首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

为啥这样

2013-10-24 
为什么这样?package cn.itcast.utilspublic class DaoFactory {private DaoFactory(){}private static fi

为什么这样?


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就是返回当前唯一一个对象,去执行这些操作。

热点排行