单例模式其实是为了保证在程序运行的时候,内存中一个类只有一个实例对象,分为懒汉式和饿汉式,两者的区分方法是,是否类加载的时候就存在实例对象
package com.wy
//饿汉式:在类加载的时候让其存在一个对象
public class SingleObject
{
private String name;
private Integer age;
private static SingleObject singleObject = new SingleObject("张三",12);
private SingleObject(String newname,Integer newage){
this.name = newname;
this.age = newage;
}
public static SingleObject getSingleObject(){
return singleObject;
}
}
//懒汉式:在类实例化的时候让其存在一个对象
public class SingleObject
{
private String name;
private Integer age;
private static SingleObject singleObject = null;
private SingleObject(String newname,Integer newage){
this.name = newname;
this.age = newage;
}
public static SingleObject getSingleObject(){
if(singleObject==null){
singleObject = new SingleObject("张三",12);
return singleObject;
}
return singleObject;
}
}
使用时推荐使用饿汉式,因为懒汉式在多线程开发的时候回出现多个实例,大家想研究的话可以使用JAVA的多线程实例化懒汉式,就会发现问题的