黑马程序员技术交流社区

标题: 静态构造函数是怎么一回事啊? [打印本页]

作者: 戴鑫凯    时间: 2013-2-21 17:04
标题: 静态构造函数是怎么一回事啊?
本帖最后由 pokemon 于 2013-2-21 18:28 编辑

静态构造函数是怎么一回事啊?  求解答.
作者: 徐荣权    时间: 2013-2-21 17:25
这是网上查询到的,希望对你有帮助
静态构造函数是C#的一个新特性,在编程过程中用处并不广,它的主要目的是用于初始化一些静态的变量。
因为这个构造函数是属于类的,而不属于任何一个实例,所以这个构造函数只会被执行一次,而且是在创建此类的第一个实例或引用任何静态成员之前,由.NET自动调用。
作者: 岳珅    时间: 2013-2-21 18:20
静态构造函数可以给静态字段赋值。
静态构造函数既没有访问修饰符,也没有参数。
静态构造函数是不可继承的,而且不能被直接调用。
只有创建类的实例或者引用类的任何静态成员才激发静态构造函数 。
类的静态构造函数在给定应用程序域中至多执行一次:
创建类的实例时不能用静态构造函数,在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类,用户无法控制何时执行静态构造函数。。
作者: 戴鑫凯    时间: 2013-2-21 18:28
ok  感谢解答
作者: 康晓璞    时间: 2013-2-21 20:45
本帖最后由 康晓璞 于 2013-2-21 21:31 编辑

分享一下,大家共同学习
一:作用:
静态构造函数初始化类的静态字段。
调用时机:
不能在程序中显示调用静态构造函数,由系统自动调用
在任何静态成员被引用之前
在类的任何实例创建之前
二:和实例构造函数相似点
1.静态构造函数的名称必须和类名相同。
2 .构造函数不能有返回值。
三. 和实例构造函数不同点
1.静态构造函数声明中使用static关键字。
2. 静态构造函数不允许出现访问修饰符 如public protect
3.类只能有一个静态的构造函数,且必须无参数









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2