饿汉式
Single.java:
//假设构造中要执行1000行代码,要占用很大的资源,耗时很长(10秒)
//每一次new Single对象需要10秒,运行1000行代码,要花费很多时间
//像这种情况,就适合使用单例模式,只new一次对象,以后就一直使用这个对象
public class Single {
//私有的构造,构造方法私有化,调用这个类的人就不能直接使用new来创建对象
private Single(){
}
private static Single aaaaa=new Single();
//返回值类型为Single
public static Single bbbbbb(){
return aaaaa;
}
}
Test.java:
public static void main(String[] args) {
Single sc = Single.bbbbbb();
}
懒汉式:
Single1.java
public class Single1 {
private Single1(){
}
private static Single1 s1=null;
public static Single1 sb(){
if (s1==null){
s1=new Single1();
}
return s1;
}
}
Test.java:
public static void main(String[] args) {
Single1 sc = Single1.sb();
}