单例类的创建过程
来源:互联网 发布:淘宝开放平台登录授权 编辑:程序博客网 时间:2024/06/03 22:31
单例类
类的构造器为public修饰,其他类(包括本身)可以自由创建该类的对象,系统性能可能因此下降(频繁的创建对象、回收对象加大了系统开销),某些时候我们只想实例化该类的一个实例,这个时候把该类写成单例类最好不过。
创建过程
- 避免其他类创建该对象,把该类的构造方法修饰为 private 型,把构造器对外隐藏起来。
- 构造器隐藏起来,我们需要创建一个可以访问( public )的方法调用构造方法创建对象。在调用该方法之前还没有对象存在,所以把此方法写为类方法(用 static 修饰),在未实例化对象之前调用。在此称为A方法。
- 因为只允许创建一个对象,A方法内部需要保证我们一定只创建一个对象。在创建对象之前我们需要判断是否创建过对象,所以第一次创建时应该保存我们创建的对象,也就是说需要定义一个类变量保存第一次创建的对象。同A方法,该变量也应该用 static 修饰, 为了保证变量的封装性,变量本身也用 private 修饰。在此称为B。
- 至此,A方法内部需要判定 B 是否为空,若为空则创建并存于B,不为空则返回B本身的值。
- 完成单例类的创建。
public class LonelyClass { // 3. 创建变量存储第一次实例化的对象 private static LonelyClass lc; // 1. 创建私有构造方法 private LonelyClass() { } // 2. 创建方法调用构造方法,创建实例。返回值类型为类本身( LonelyClass ) public static LonelyClass getMyClass() { // 4. 判断是否创建过 if (lc == null) { lc = new LonelyClass(); } return lc; } public static void main(String[] args) { // 5. 单例类创建完成 测试 LonelyClass test1 = LonelyClass.getMyClass(); LonelyClass test2 = LonelyClass.getMyClass(); System.out.println(test1 == test2); // true,因为他们实际是一个对象 }}
阅读全文
0 0
- 单例类的创建过程
- 窗体创建的过程
- 工具条的创建过程
- 创建虚拟机的过程
- Hibernate的创建过程
- 对象的创建过程
- 进程的创建过程
- XMLHttpRequest的创建过程
- 对象的创建过程
- 创建mediaserver的过程
- 对象的创建过程
- 存储过程的创建
- 创建窗口的过程
- 储存过程 的 创建
- 对象的创建过程
- 窗口的创建过程
- 进程的创建过程
- 决策树的创建过程
- java实现数据结构练习题--仅使用处理单个数字的I/O例程,编写一个过程以输出任意实数(可以是负的)
- zoj 1023
- Source Code Pro字体在Notepad++和sublime编辑器上的设置
- nexus2.x搭建maven私服教程(windows环境)
- plSQl function PROCEDURE 使用实例
- 单例类的创建过程
- Wet Shark and Bishops(思维)
- Hibernate教程之五一对一实现基于xml和注解
- windows下 Scikit-learn配置
- 【Nova】nova-network网络模型之flat网络-代码学习
- Python中的清屏方法
- 自定义可旋转的Label控件
- Udemy上免费的angualr2视频教程分享
- 超分辨率重建邻域嵌入部分代码