我想在Java中,Singleton是指只能实例化一次的类,通常用来代表那些本质上具有唯一性的系统组件。也就是只有这个时候我们才应该使用Singleton这个方式。
关于带有静态成员的类,在Java中,一般情况下,静态属性一般用来表示常驻内存的数据,比如常量,静态方法我们一般用来实现一些共有的方法,而且这些方法一般实现的功能都是固定不变的。
关于Singleton的实现方法,我们也有常见的两种方式:
首先:
public class Singleton {
public static final Singleton SINGLETON = new Singleton();
private Singleton() {
}
}
其次:
public class Singleton {
private static final Singleton SINGLETON = new Singleton();
private Singleton() {
}
public static getSingleton() {
return SINGLETON;
}
}
这两种方式,第一种效率可能稍微高一点。
第二种方式的主要好处在于可以提供一些灵活性,在不改变接口的情况下,
我们可以把该类做成Singleton或者不做成Singleton.
软件开发者面试百问-----什么时候使用带有静态成员的类,什么时候使用单例?
最新推荐文章于 2022-03-02 02:27:47 发布