需求:定义一个数组的工具类ArrayUtil,使用单例模式解决。
单例设计模型(singleton)
目的:保证在整个应用中某一个类有且只有一个实例(一个类在堆内存只存在一个对象),即所有指向该类型的实例的引用都指向同一块内存空间。
写单例模式的步骤:
1、必须在该类中,自己创建一个对象
2、私有化自身的构造器,防止外界通过构造器创建新的对象
3、向外界暴露一个公共的静态方法用于获取自身的对象。
class ArrayUtil {
// 1、必须在该类中,自己创建出一个对象
private static ArrayUtil instance = new ArrayUtil();
// 2、私有化自身构造器,防止外界通过构造器创建新的对象
private ArrayUtil(){}
// 3、向外界暴露一个公共的静态方法用于获取自身的对象
public static ArrayUtil getInstance(){
return instance;
}
// 排序操作
public void sort(int[] arr){
System.out.println("排序操作");
}
}
使用:
// 以后每次拿到的都是同一个对象
//ArrayUtil.getInstance();
ArrayUtil.getInstance().sort(null);