这是创建单例类的原始代码:
package com.hsp.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
final public class MySessionFactory {
private static SessionFactory sessionFactory = null;
private MySessionFactory() {
}
static {
sessionFactory = new Configuration().configure().buildSessionFactory();
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
我的问题是,我可以直接使用:
声明sessionFactory private static SessionFactory sessionFactory =
new Configuration().configure().buildSessionFactory();
这样整个代码可以如下:
package com.hsp.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
final public class MySessionFactory {
private static SessionFactory sessionFactory =
new Configuration().configure().buildSessionFactory();
private MySessionFactory() {
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
如果没有,那么两个代码块之间有什么区别?第二个是否有任何缺陷?
答案 0 :(得分:0)
我认为最好将静态变量声明和静态操作块分开。