java之单例设计模式
设计模式 解决某一类问题最行之有效的方法 (java中有 种通用设计模式) 单例设计模式 解决一个类在内存中只存在一个对象 单例设计模式有两种方式 )饿汉式 先初始化对象 当类一进内存就创建好对象 )懒汉式 对象是方法被调用时才初始化 也叫延时加载 类进内存时 对象还没有存在 只有通过方法调用时 才建立对象 单例设计模式 是想要保证对象的唯一 )为了避免其他程序过多建立该类对象 先禁止其他程序建立该类对象 )还为了让其他程序可以访问到该类对象 只好在本类中自定义一个对象 )为了方便其他程序对自定义对象的访问 可以对外其他一些访问方式 利用这三步进行代码实现 )将构造函数私有化 )在类中创建一个本类对象 )提供一个方法可以获取到该对象 提示 在单例设计模式中 事物该怎么描述还怎么描述 当需要将该事物的对象保证在内存中唯一时 加上以上三步即可 代码说明 // )饿汉式 [java] class Single { private int num; public void setNum(int num) { this num = num; } public int getNum() { return num; } //将构造函数私有化 private Single(){} //在类中创建一个本类对象 因为构造函数被私有化 该类不能创建对象 想在外部访问 所以将其静态 private static Single s = new Single() //提供一个方法可以获取到该对象 不能创建对象 所以将方法静态 可以通过 (类名 方法名)的形式进行访问 public static Single getInstance() { return s; } } class SingleDemo { public static void main(String[] args) { //单例的构造函数被静态后不能创建对象 保证对象的唯一 所以通过 (类名 方法名)的形式进行访问 Single s = Single getInstance() Single s = Single getInstance() s setNum( ) System out println(s getNum()) //结果 因为Single单例里面对对象和方法进行了静态 数据共享 所以s 的值 } }
lishixinzhi/Article/program/Java/hx/201311/26060