/**懒汉方式,指全局的单例实例在第一次被使用时构建;
* @author nKF77459
* <marquee><font size=40 color=red>单例模式最核心的是该类只可能有一个实例:</marquee>
* <table border=30>
* <tr><td>饿汉方式</td><td bgcolor=cyan> 指全局的单例实例在类装载时构建 </td></tr>
* <tr><td>1:</td><td bgcolor=cyan>单例类的构造函数必须是私用的</td></tr>
* <tr><td>2:</td><td bgcolor=cyan>单例类必须自己创建自己这唯一的实例</td></tr>
* <tr><td>3:</td><td bgcolor=cyan>单例类必须给所有其他对象提供这一实例</td></tr>
* </table>
*
* 你在任意地方调用 Singleton.getInstance();总是获取到同一个实例
* 这个实例和普通实例是一摸一样的,但是普通实例一般是调用一次创建一次
* ,但是单例模式的类只创建一次,你在10个地方调用Singleton.getInstance();
* 得到的都是同一个实例
*
*/
public class Singleton1 {
private Singleton1(){}
private static Singleton1 singleton=new Singleton1();
public static Singleton1 getInstance(){
return singleton;
}
public void say(){
System.out.println("hahah");
}
public static void main(String[] args){
Singleton1.getInstance().say();
}
}
/**
* @author nKF77459
* <marquee><font size=40 color=red>单例模式最核心的是该类只可能有一个实例:</marquee>
* <table border=30>
* <tr><td>懒汉方式</td><td bgcolor=cyan> 指全局的单例实例在第一次被使用时构建; </td></tr>
* <tr><td>1:</td><td bgcolor=cyan>单例类的构造函数必须是私用的</td></tr>
* <tr><td>2:</td><td bgcolor=cyan>单例类必须自己创建自己这唯一的实例</td></tr>
* <tr><td>3:</td><td bgcolor=cyan>单例类必须给所有其他对象提供这一实例</td></tr>
* </table>
*
* 你在任意地方调用 Singleton.getInstance();总是获取到同一个实例
* 这个实例和普通实例是一摸一样的,但是普通实例一般是调用一次创建一次
* ,但是单例模式的类只创建一次,你在10个地方调用Singleton.getInstance();
* 得到的都是同一个实例
*
*
*/
public class Singleton2 {
private Singleton2(){}
private static Singleton2 singleton=null;
public static Singleton2 getInstance(){
if(singleton==null){
singleton=new Singleton2();
}
return singleton;
}
public void say(){
System.out.println("hahah");
}
public static void main(String[] args){
Singleton2.getInstance().say();
}
}