黑马程序员技术交流社区
标题:
【笔记】单例
[打印本页]
作者:
backin
时间:
2015-8-18 20:17
标题:
【笔记】单例
简单的说单例就是当前运行态类的实例只有一个,比如说登录QQ,那么在这个设备中的所有相关的用户类的实例就只是自己一个。简单的代码实现
public class ClassA
{
private static ClassA classA=null;
//将类A的构造方法私有化,那么在运行的时候ClassA就不能实例化了那怎么办呢?
private ClassA()
{
//dosomething
}
/***
* 如果classA的实例为空,就new一个重新创建,反之就直接赋值
* 由于其他类要访问,所以必须是静态的方法
* @return classA 的实例
*/
public static ClassA getA()
{
if(classA!=null)
{
new ClassA();
}
return classA;
}
}
其他类调用的时候直接用类名所有就避免了类的重新初始化
public class ClassB
{
public static void main(String [] args)
{
// 如果ClassA在其他地方已经实例化过的话,a接受的ClassA的实例一定不是新的的实例。
ClassA a = ClassA.getA();
a.toString();
}
}
方法就说很实用。等待进一步学习
复制代码
Q1:优势在哪里?
Q2:什么时候用?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2