我正在了解单例模式。我在这里写了一小段代码
Program.cs:
class Program
{
static void Main(string[] args)
{
SingleObject objtemp = SingleObject.getInstance();\
objtemp.showMessage();
}
}
SingleObject.cs
class SingleObject
{
static SingleObject obj = new SingleObject();
private SingleObject()
{
}
public static SingleObject getInstance()
{
return obj;
}
public void showMessage()
{
Console.WriteLine("Hello Message");
}
}
我不明白什么实际上是在调用
SingleObject()
构造函数?当我调用
getInstance()
方法时,它是否正确返回实例? 最佳答案
基本思想是您正在将构造函数私有化。因此,您不能从外部初始化SingleObject的对象。但是,您在类本身内创建的静态对象可以使用私有构造函数,从而使您可以使用公共方法从外部访问它。