今天无意中看到一个构造函数前面加了一个static,以前没有怎么看到过,今天就自己敲了下代码看下效果。
static 静态构造函数,
1、用于对静态数据的初始化
2、前面不能有参数不能有修饰符,不能被调用
3、当类被加载时,类的静态构造函数自动被调用,最多只执行一次
class Program
{
private static int count = 0;
static Program()
{
Console.WriteLine("我是静态构造函数,我被加载了!");
count++;
Console.WriteLine(count);
}
public Program()
{
count++;
}
static void Main(string[] args)
{
Program o1 = new Program();
Program o2 = new Program();
Console.WriteLine(count);
Console.Read();
}
}
还有就是关于构造函数前面不能有访问修饰符,默认的是public,如果改为private和protected之类的修饰符的话是不行,因为private的访问权限只能使本类中,这就说明了如果外部要实例化此类的一个对象的话就不行了,其他的同理。这是自己的一点见解,多有不对的地方,请指出。