首页 > 代码库 > java基础——单例设计模式(懒汉式)
java基础——单例设计模式(懒汉式)
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基础——单例设计模式(懒汉式)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。