Singleton这个类不是静态属性instance加载之后才实例化么,可是instance又是Singleton实例化之后才加载的,那到底是哪个在先哪个在后啊
//这句话在Singleton类加载的时候就执行了,内存空间中已经有一份instance了。 private static Singleton instance = new Singleton(); //提供方法获取instance。因为前面是private修饰的,所以不能直接访问,只能提供一个方法访问。 public static Singleton getInstance(){ return instance; }
所以并没有冲突。你问题中的两个instance,第一是在类加载的时候就存在了,不管你用不用他。第二个是你需要用instance了,所以调用了getInstance方法。
先加载类,后实例化对象
不清楚你说的,但是我知道在C#里面应该是static变量时在在对象初始化之前就已经完成了