课程
/后端开发
/Java
/模式的秘密---单例模式
Singleton这个类不是静态属性instance加载之后才实例化么,可是instance又是Singleton实例化之后才加载的,那到底是哪个在先哪个在后啊
2016-01-06
源自:模式的秘密---单例模式 2-1
正在回答
//这句话在Singleton类加载的时候就执行了,内存空间中已经有一份instance了。 private static Singleton instance = new Singleton(); //提供方法获取instance。因为前面是private修饰的,所以不能直接访问,只能提供一个方法访问。 public static Singleton getInstance(){ return instance; }
所以并没有冲突。你问题中的两个instance,第一是在类加载的时候就存在了,不管你用不用他。第二个是你需要用instance了,所以调用了getInstance方法。
某某猫 提问者
先加载类,后实例化对象
不清楚你说的,但是我知道在C#里面应该是static变量时在在对象初始化之前就已经完成了
举报
单例模式是在Java中最重要模式之一,让我们揭开单例模式神秘面纱
4 回答单例模式为什么不直接访问那个静态对象
2 回答在一个类中定义本身的实例对象时为什么要加static?
1 回答关于单例模式中单例对象是否能被用户修改
1 回答老师,那静态内部类和枚举的单例,是不是在Java中要经常用到?
1 回答请问单例模式和一个全是静态成员变量的类相比较有什么优缺点?