题目描述:设计一个类,只能生成该类的一个实例。
思路分析:考察单例设计模式的运用,单例设计模式的运用是需要考察多线程情况下的安全同步机制,内存的使用效率。
推荐方法1;使用内部静态构造方法
初始实例 S直接构造,在类加载时只进行一次初始化,利用静态方法返回该实例,避免了同步加锁。
代码如下:
public void class Singleton{ private Singleton(){ } private static Singletin S=new Singleton(); public static Singleton getInstance { return S; }
}
推荐方法2:实现按需创建实例
public void class Singleton{ private Singleton(){ } private static Singletin S= null; public static Singleton getInstance { if(S==null) S=new Singleton(); return S; } }
可以参考 我的博客 https://blog.csdn.net/qauchangqingwei/article/details/80716816