饿汉式
class Student
{
private Student(){} //把构造函数私有化;
private static Student s = new Student(); //类一加载就直接创建对象;
public static Student getInstance()
{
return s; //把这个对象返回给调用者; }
}
懒汉式
class Teacher
{
private Teacher(){} //私有化构造函数;
private static Teacher t; //定义一个指向,指向为空;
public static Teacher getInstance()
{
if(t==null) //判断此对象是否被调用; {
t = new Teacher(); / /如果没有调用就创建对象,并指向t; }
return t; //如果有对象,就直接返回给调用者; }
}
Student类一进内存,就已经创建好了对象。这个称之为饿汉式;
对象是方法被调用时,才初始化,也叫做对象的延时加载。称之为:懒汉式。
Teach类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。
|