A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

设计模式:解决某一类问题最行之有效的方法;
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;
        }
}

1 个回复

倒序浏览
学习了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马