设计模式:解决某一类问题最行之有效的方法;
JAVA中23种设计模式:
单例设计模式:解决一个类在内存中只存在一个对象‘
想要保证对象的唯一:1、为了避免其它程序过多建立该类对象,先禁止其它程序建立该类对象;
2、为了其它程序可以访问到该类对象,只好在本类中,自定义一个对象。
3、为了方便其它程序对自定义对象的访问,可以对外提供一些访问方式。
这三部怎么用代码体现呢?
1.将构造函数私有化。
2.在类中创建一个本类对象。
3.提供一个方法可以获取该类对象。
对于事物怎么描述,还怎么描述。
当需要将事物的对象保证在内存中唯一时,就将以上的三步加上即可。
举个例子:
class Demo
{
public static void main(String[] args)
{
Student men=Student.getMen();
men.setNum(20);//调用setNum函数设置参数
System.out.println(men.getNum());//打印的是返回的值getNum,
}
}
class Student
{ private int age;
/*这种方法也称为饿汉式
特别:先初始化对象,Student类一进入内存,就已经建立好了对象。
private Student (){}
private static Student s= new Student();//创建一个学生,那么数据类型则为”学生类型“,
public static Student getMen()//返回的类型是学生,那返回值类型为”学生“
{
return s;
}
*/
//懒汉式:对象是方法被调用时,才初始化,也叫做对象的延时加载。
//Student类进入内存,对象还没有存在,只有调用了getMen()方法时, 才建立对象。
private Student (){}
private static Student s= null;
public static Student getMen()
{
if(s==null)
s= new Student();
return s;
}
public void setNum(int age)
{
this.age=age;
}
public int getNum()
{
return age;
}
} |
|