java单例设计模式求解惑
发布网友
发布时间:2022-04-05 13:40
我来回答
共2个回答
热心网友
时间:2022-04-05 15:10
class single
{
private single(){}//私有化构造函数
==>//不允许外部构造
private static single s = new single();//创建本类对象 !!求解惑,既然是静态,为什么可以创建本类对象呢,静态方法不是随着类的加载而加载的嘛,存在方法去的嘛,为什么可以创建对象了呢,,,很无法理解
//---〉静态只有JVM第一次load single类的时候才会构造signle唯一的对象。至于为什么可以创建本类对象,面向对象的基础,自己想下吧。
public static single getInstance()//静态方法只能调用静态参数,
{
return s;
}
}
但是为什么不允许添加getInstance()呢?
//可以添加的。为什么说不可以呢?
热心网友
时间:2022-04-05 16:28
你难道想
public static void setInstance(Single sigle)//静态方法只能调用静态参数,
{
s = sigle;
}
这样子?
添加在类里面当然是可以的,但是你看,外部调用setInstance()方法时,需要参数传入一个single实例,但是该实例是getInstance()得到的,弄来弄去还是原来的private static single s = new single();产生的single实例,有什么意义呢?