C# 静态构造函数和实例构造函数
2013-04-01 22:05
239 查看
字段可以分为静态字段和实例字段,同样构造函数也可以分为静态构造函数和实例构造函数。
@1、实例构造函数:
#1:若构造函数有修饰符extern,则表示该构造函数为外部构造函数,外部构造函数不提供任何实际的实现,函数体中仅由一个分号组成。一般情况下,构造函数总是public类型,若为private类型,表明类不能被实例化。
#2:实例构造函数可以重载。
#3::base([参数列表])表明调用基类中相应的构造函数。
#4::this([参数列表])表明调用该类本身所声明的其他构造函数。
#5:构造函数中既可以对静态字段进行赋值,也可以对非静态字段进行初始化。
#6:实例构造函数不能被继承。若一个类中没有声明任何实例构造函数,系统会自动提供一个不带参数的默认构造函数。
@2、静态构造函数:
#1:静态构造函数主要用于初始化一些静态的变量。静态构造函数只会执行一次,而且是在创建此类的第一个实例 或 引用任何静态成员(包括静态方法)之前,由.NET自动调用。
#2:静态构造函数没有访问修饰符, 因为是由.NET自动调用的。
#3:静态构造函数没有参数。
#4:一个类中只能有一个静态构造函数。
#5:静态构造函数只能运行一次。
#6:静态构造函数不能被继承。
#7:若没有写静态构造函数,而类中包含有初始值设定的静态成员,则编译器会自动生成默认的构造函数。
#8:静态构造函数与无参的实例构造函数不冲突,可同时出现。
参考文献:吴晓艳《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#语言程序设计》
相关文章推荐
- C# 实例构造函数和静态构造函数
- C# 静态构造函数和实例构造函数
- C# 静态构造函数
- C#静态与非静态、构造函数、this关键字、析构函数
- C#中构造函数和析构函数用法实例详解
- C#几个例子[静态构造函数,继承,虚方法]
- C# 静态构造函数使用
- C#中Lock静态字段和实例字段
- 【c#】面向对象简介(构造、析构函数,静态构造函数、静态类)
- C#中静态构造函数导致的一个deadlock
- java 父类子类静态成员,实例成员,构造函数初始化的顺序
- C#中静态构造函数的学习
- C#编程基础:静态构造函数
- 浅析C#与C++在静态构造函数上的异同
- C#静态方法与非静态方法实例分析
- C#静态方法与非静态方法实例分析
- C#的静态构造函数和静态类
- C#中静态构造函数
- C#实例成员和静态成员
- C#学习基本概念之构造函数之四--静态构造函数