class Person
{
static Person p;
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private int age;
public int Age
{
get { return age; }
set { age = value; }
}
private Person()
{ }
public static Person GetPerson()
{
if (p==null)
{
p = new Person();
}
return p;
}
}
调用:
Person p = Person.GetPerson();
p.Name = "zhangsan";
p.Age = 18;
Console.WriteLine("对象现在的名字是:{0},年龄是{1}", p.Name, p.Age);
Person per = Person.GetPerson();
Console.WriteLine("对象现在的名字是:{0},年龄是{1}", per.Name, per.Age);
per.Age = 20;
per.Name = "lisi";
Console.WriteLine("对象现在的名字是:{0},年龄是{1}", per.Name, per.Age);
Console.WriteLine("对象现在的名字是:{0},年龄是{1}", p.Name, p.Age);
Console.ReadLine();
输出结果自己复制进去看吧,呵呵。。。
单例模式就是把类的构造函数私有,然后在类里面设置静态私有字段(本类类型,就是自己类型)然后在类的一个静态方法中访问这个静态成员。。。
可怜我当初没接触单例之前,只知道概念,知道一个大概,然后面试的时候自己凭着自己的可以说是想象,写出一个,最后就差一个为空判断,当时没想出来,回去的车上我一拍大腿,我明白了。。。悲剧了。。。