static 静态构造函数,
1、用于对静态数据的初始化
2、前面不能有参数不能有修饰符,不能被调用
3、当类被加载时,类的静态构造函数自动被调用,最多只执行一次
class Program { private static int count = 0; static Program() { Console.WriteLine("我是静态构造函数,我被加载了!"); count++; Console.WriteLine(count); } public Program() { Console.WriteLine("我是公共构造函数,我被加载了!"); count++; } static void Main(string[] args) { Program o1 = new Program();//在此处两个构造函数都调用 Console.WriteLine("----------"); Program o2 = new Program();//只调用第二个构造函数 Console.WriteLine(count); Console.Read(); } } /* 代码运行结果: 我是静态构造函数,我被加载了! 1 我是公共构造函数,我被加载了! ---------- 我是公共构造函数,我被加载了! 3 */
还有就是关于构造函数前面不能有访问修饰符,默认的是public,如果改为private和protected之类的修饰符的话是不行,因为private的访问权限只能使本类中,这就说明了如果外部要实例化此类的一个对象的话就不行了,其他的同理。
原文地址:http://745559847.blog.51cto.com/11658719/1863731