C# 静态构造函数和实例构造函数

  字段可以分为静态字段和实例字段,同样构造函数也可以分为静态构造函数和实例构造函数。

  @1、实例构造函数:

  #1:若构造函数有修饰符extern,则表示该构造函数为外部构造函数,外部构造函数不提供任何实际的实现,函数体中仅由一个分号组成。一般情况下,构造函数总是public类型,若为private类型,表明类不能被实例化。

  #2:实例构造函数可以重载。

  #3::base([参数列表])表明调用基类中相应的构造函数。

  #4::this([参数列表])表明调用该类本身所声明的其他构造函数。

  #5:构造函数中既可以对静态字段进行赋值,也可以对非静态字段进行初始化。

  #6:实例构造函数不能被继承。若一个类中没有声明任何实例构造函数,系统会自动提供一个不带参数的默认构造函数。

 

  @2、静态构造函数:

  #1:静态构造函数主要用于初始化一些静态的变量。静态构造函数只会执行一次,而且是在创建此类的第一个实例 或 引用任何静态成员(包括静态方法)之前,由.NET自动调用。

  #2:静态构造函数没有访问修饰符, 因为是由.NET自动调用的。

  #3:静态构造函数没有参数。

  #4:一个类中只能有一个静态构造函数。

  #5:静态构造函数只能运行一次。

  #6:静态构造函数不能被继承。

  #7:若没有写静态构造函数,而类中包含有初始值设定的静态成员,则编译器会自动生成默认的构造函数。

  #8:静态构造函数与无参的实例构造函数不冲突,可同时出现。

参考文献:吴晓艳《C#语言程序设计》

posted @ 2013-04-01 22:05  XiaoweiLiu  阅读(1568)  评论(4编辑  收藏  举报