JAVA单例模式

来源:互联网 发布:手动安装windows补丁 编辑:程序博客网 时间:2024/04/27 05:20

 单例模式

①懒汉式               ②饿汉式

内部类(是一种懒汉式实现方式)

枚举

前两种方式比较普遍,之前博客也说明过,这里重点看内部类及枚举实现方法

注:前三种方式严格来说并不属于单例模式,因为其在进行反序列化的时又创建了新对象,而枚举不然

1、内部类实现

package com.brx.single;public class Single {static{System.out.println("single");}private Single() {}public static Single getInstance(){return SingleHolder.single;// 当调用这个方法时,首先会将SingleHolder加载到内存。// SingleHolder加载到内存的时候会将single对象创建}//内部类实现单列模式——懒汉式private static class SingleHolder{static{System.out.println("singleholder");}private static Single single=new Single();}}
2、枚举
package com.brx.single;public enum Single1 {SINGLE;public void show(){System.out.println("show");}}
测试类

package com.brx.single;public class Test {public static void main(String[] args) throws ClassNotFoundException {// 将Single类加载到内存Class.forName(Single.class.getName());  //singleSingle.getInstance(); //single  singleholderSingle1.SINGLE.show();}}


原创粉丝点击