关于java静态内部类形式的单例模式
答案:1 悬赏:60 手机版
解决时间 2021-11-20 19:59
- 提问者网友:謫仙
- 2021-11-19 23:35
关于java静态内部类形式的单例模式
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-11-20 00:35
static Singleton instance = new Singleton();
static类型的成员变量,只会在新建类的对象时被执行一次。
所以static Singleton instance = new Singleton(); 只有在第一次调用时,被new一次。之后获取的都是第一次执行的对象。所以称之为单例。
也可以使用老的写法,比较清晰一些。
class ABC {
private static ABC instance;
private ABC() {}
public ABC getInstance() {
if (instance==null)
instance = new ABC();
return instance;
}
}
这样写法的缺点是效率不如
class ABC {
private static ABC instance= new ABC();
private ABC() {}
public ABC getInstance() {
return instance;
}
}
这样写法高。追问jdk 1.5以后还是双检索的懒汉最好,强迫症,不喜欢饿汉形式
static类型的成员变量,只会在新建类的对象时被执行一次。
所以static Singleton instance = new Singleton(); 只有在第一次调用时,被new一次。之后获取的都是第一次执行的对象。所以称之为单例。
也可以使用老的写法,比较清晰一些。
class ABC {
private static ABC instance;
private ABC() {}
public ABC getInstance() {
if (instance==null)
instance = new ABC();
return instance;
}
}
这样写法的缺点是效率不如
class ABC {
private static ABC instance= new ABC();
private ABC() {}
public ABC getInstance() {
return instance;
}
}
这样写法高。追问jdk 1.5以后还是双检索的懒汉最好,强迫症,不喜欢饿汉形式
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯