public class SrcMgr
{
private static SrcMgr _srcMgr = null;
GameMain _game1 = null; private SrcMgr()
{ } public static SrcMgr GetInstence()
{
if (_srcMgr == null)
{
_srcMgr = new SrcMgr();
}
return _srcMgr;
}
} 【private static SrcMgr _srcMgr = null;】这句代码中怎么 private 和static同时出现,能不能帮我详细的讲解一下这句代码,麻烦大家了啊!
{
private static SrcMgr _srcMgr = null;
GameMain _game1 = null; private SrcMgr()
{ } public static SrcMgr GetInstence()
{
if (_srcMgr == null)
{
_srcMgr = new SrcMgr();
}
return _srcMgr;
}
} 【private static SrcMgr _srcMgr = null;】这句代码中怎么 private 和static同时出现,能不能帮我详细的讲解一下这句代码,麻烦大家了啊!
static保证了这个成员在类的所有实例中共享。singleton模式就是这么实践的。
{
private Singleton()
{
} public static readonly Singleton instance = new Singleton();
} private为了不给实例化
static保证了这个成员只能使用类访问,类对象不能访问
singleton模式就是这么实践的。
{
if (_srcMgr == null)
{
_srcMgr = new SrcMgr();
}
return _srcMgr;
【private static SrcMgr _srcMgr = null;】这句代码中加static没啥用啊
{
if (_srcMgr == null)
{
_srcMgr = new SrcMgr();
}
return _srcMgr;你看看这段代码是不是怎样理解:
private static SrcMgr _srcMgr = null;是声明一个私有的并且是静态的SrcMgr类型,私有的是因为防止改变量被其他类调用,静态的是因为 让该变量的值保持不变。
外部类是通过GetInstence()方法,检查该类是否被实例化,如果被实例化调用被实例化的对象,如果没有就创建该类的实例。”是不是应该这样理解啊??
错,静态变量做不到值保持不变
要保持值不变,有几种方法:
1. const
2. readonly
3. 设置为private并且确定不提供任何接口修改为什么_srcMgr要静态的? 因为GetInstence是静态的