C#编程基础:静态构造函数
2014-10-31 11:45
218 查看
静态构造函数可能一般对于它有点陌生,静态构造函数是C#的一个新特性,在编程过程中用处并不广,它的主要目的是用于初始化一些静态的变量。可以参考C#入门基础01教程。
1、静态构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。
2、是在创建第一个类实例或任何静态成员被引用时,.NET将自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。
3、一个类只能有一个静态构造函数。
4、无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。
5、最多只运行一次。
6、静态构造函数不可以被继承。
7、如果没有写静态构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数。
简单值类型的全局变量默认初始值都是0
因为入口函数在类B,所以程序首先加载B,由于y是B的静态成员,类一加载时便会计算y的值,但是发现y的值是通过赋值的方式获得的,等号右边用到了A的
x,此时会立即计算x的值,x是通过类A的静态构造函数初始化的,期间又引用了B的Y,此时y的值还是0(因为y的赋值语句还没执行完,故其值还是默认
的),得到x=0+1=1,继续为y赋值得到y=x+1=2。
想了解更多编程语言教程集合可登陆e良师益友网。
1、静态构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。
2、是在创建第一个类实例或任何静态成员被引用时,.NET将自动调用静态构造函数来初始化类,也就是说我们无法直接调用静态构造函数,也就无法控制什么时候执行静态构造函数了。
3、一个类只能有一个静态构造函数。
4、无参数的构造函数可以与静态构造函数共存。尽管参数列表相同,但一个属于类,一个属于实例,所以不会冲突。
5、最多只运行一次。
6、静态构造函数不可以被继承。
7、如果没有写静态构造函数,而类中包含带有初始值设定的静态成员,那么编译器会自动生成默认的静态构造函数。
简单值类型的全局变量默认初始值都是0
因为入口函数在类B,所以程序首先加载B,由于y是B的静态成员,类一加载时便会计算y的值,但是发现y的值是通过赋值的方式获得的,等号右边用到了A的
x,此时会立即计算x的值,x是通过类A的静态构造函数初始化的,期间又引用了B的Y,此时y的值还是0(因为y的赋值语句还没执行完,故其值还是默认
的),得到x=0+1=1,继续为y赋值得到y=x+1=2。
想了解更多编程语言教程集合可登陆e良师益友网。
相关文章推荐
- C# 编程指南静态构造函数(C# 编程指南)
- C#基础 属性 构造函数 静态构造函数 析构函数
- 【C#基础知识】静态构造函数,来源于一道面试题的理解
- 静态构造函数(C# 编程指南)
- 静态构造函数(C# 编程指南)
- 静态构造函数(C# 编程指南)
- C#学习基础--静态构造函数
- 提高C#编程水平的50个要点 之十三“使用静态构造函数来初始化静态成员变量”
- C# 静态构造函数
- c#下多线程编程基础
- c#网络编程基础
- C#轻松入门(三)面向对象的编程基础
- C# 静态构造函数
- C#里静态构造函数
- C# GDI+编程之基础篇
- C#学习之静态成员和非静态成员,构造函数,方法,方法参数,操作符重载,事件
- C#基础--构造函数/析构函数/常用函数
- C#网络应用编程基础练习题与答案(一)
- (C#)Windows Shell 外壳编程系列1 - 基础,浏览一个文件夹
- c#中,静态构造函数的说明