码迷,mamicode.com
首页 > 编程语言 > 详细

java基础——单例设计模式(懒汉式)

时间:2014-10-23 13:58:03      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   java   sp   div   on   

 1 public class Test7 {
 2     // 主函数
 3     public static void main(String[] args) {
 4         Test7.getInstance().function(9, 81);
 5     }
 6 
 7     // 私有成员变量
 8     private String name;
 9     private int age;
10     private static Test7 test7;
11 
12     private Test7() {
13     }
14 
15     public static Test7 getInstance() {
16         if (test7 == null) {// 此行主要为了提高效率
17             synchronized (Test7.class) {
18                 if (test7 == null) {
19                     test7 = new Test7();
20                 }
21             }
22         }
23         return test7;
24     }
25 
26     private void function(int num1, int num2) {
27         System.out.println(num1 - num2);
28     }
29 
30     public String getName() {
31         return name;
32     }
33 
34     public void setName(String name) {
35         this.name = name;
36     }
37 
38     public int getAge() {
39         return age;
40     }
41 
42     public void setAge(int age) {
43         this.age = age;
44     }
45 }

以上代码中有一个getInstance()方法;

此方法体现了懒汉式的一个重要特征,

即:实例的产生 是在调用者调用它的时候,默认初始化(private static Test7 test7;)为空.

 

注意:在getInstance()方法中第16行if()条件语句作用仅仅是为了提高代码的效率而设置,

去掉此行代码依然可以运行,但是对于好多实例对象来调用getInstance()方法时,加上if语句明显可以提高执行速度

 

java基础——单例设计模式(懒汉式)

标签:style   blog   color   io   ar   java   sp   div   on   

原文地址:http://www.cnblogs.com/Springtie/p/4045431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!