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语句明显可以提高执行速度
时间: 2024-10-08 17:02:28