1、定义:

静态构造函数是实现对一个类进行初始化的方法成员. 它一般用于对静态数据的初始化. 静态构造函数不能有参数,不能有修饰符而且不能被调用,当类被加载时,类的静态构造函数自动被调用.

2、特点:

     在一个程序的执行过程中,静态构造器最多只执行一次.

3、执行顺序:

  •    静态构造器在任何类的静态成员被引用之前执行.
  •  静态构造器在任何类的实例变量被分配之前执行.
  • 静态构造器在类的静态成员初始化之后执行.或者说编译器会将静态成员初始化语句转换成赋值语句放在静态构造器执行的最开始.

4、实例:

class Program
{
static void Main(string[] args)
{
Console.WriteLine("静态变量值 = " + Person.time);
Person p1 = new Person();
Thread.Sleep();
Person p2 = new Person();
Console.ReadKey();
}
}
class Person
{
public static int time = DateTime.Now.Millisecond;
static Person()
{
Thread.Sleep(); // 防止电脑运行太快,看不出效果
Console.WriteLine("静态构造器 = " + DateTime.Now.Millisecond);
}
public Person()
{
Console.WriteLine("无参构造器 = " + DateTime.Now.Millisecond);
}
}

5、运行结果:

可以看出:

1、静态变量是最先初始化的

2、静态构造函数里面其他的内容是在静态变量初始化好之后才执行的

3、静态构造函数永远只执行一次

6、上面程序的静态构造函数类似这样执行的

        static Person()
{
public static int time = DateTime.Now.Millisecond;
Thread.Sleep(); // 防止电脑运行太快,看不出效果
Console.WriteLine("静态构造器 = " + DateTime.Now.Millisecond);
}

7、参考

http://www.cnblogs.com/JackieYang/archive/2010/02/23/1671724.html  ymingkm

作者:MrZivChu

2013-08-02  17:15:25

 

最新文章

  1. Lucene.Net+盘古分词->开发自己的搜索引擎
  2. 将XmlDocument转换成XDocument
  3. java编程思想第四版中net.mindview.util包下载,及源码简单导入使用
  4. Maya 学习资料
  5. 医生工作台二期-bug总结
  6. mac下安装和卸载软件
  7. css兼容
  8. memcached 在windows下安装及启动
  9. "严格模式" use strict 详解
  10. Unity 白猫操作小实例
  11. Android01-概述
  12. 《Qt on Android核心编程》夹
  13. 初识vuex
  14. css基础内容之background
  15. 【深度学习篇】--神经网络中的调优一,超参数调优和Early_Stopping
  16. 创建型模式篇(工厂模式Factory Pattern)
  17. View 的滑动
  18. Nodejs 实现 WebSocket 太容易了吧!!
  19. VC++ :传统剪贴板的延迟提交技术
  20. Linux 常用环境搭建

热门文章

  1. PHP设计模式系列 - 装饰器
  2. PHP设计模式系列 - 工厂模式
  3. Ubuntu18.04 使用过程遇到的问题记录
  4. PHP字符串——字符串函数
  5. UVa 10214 - Trees in a Wood.(欧拉函数)
  6. Linux MySql5.6.38安装过程
  7. [luogu1080] 国王游戏
  8. 最简单的php学习
  9. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8E' for column 'nick' at row 1
  10. 联想ERP项目实施案例分析(10):回到最初再反思IT价值