volley单利

我理解的--java 单例模式

限于喜欢 提交于 2020-04-07 05:55:25
这只是自己学习的笔记。 简单的说就是一个类只能创建一个实体(实体1 == 实体2), 一般情况下一个类可以创建无数个实体,比如一个class Cat cat1 = new Cat(); cat2 = new Cat(); cat1 == cat2 返回的是false。 要想cat1 == cat2,就用单利模式,这样有什么好处: 在 计算机系统中,线程池、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有 若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。 正常 单利模式 可以这样想 :java static的变量只有一个,属于类,那就可以利用这个关键字。创建一个实体可以用new或者写一个方法。如果new的话,就会在堆中创建的对象不等。可以用一个静态方法获取一个实体,而获取的这个实体应该是一个静态static的变量,这样的话,就可以实现上面的要求了。构造函数要写成私有的,防止用new创建实体。 上图的单利cat实例不是在堆中创建的,是在静态区创建的,只是为了好对比。 测试类 class Cat { private static Cat cat; private Cat() { } public static Cat getCat() { if (cat == null) { cat =