首页 新闻 会员 周边

关于静态成员的内存分配

0
悬赏园豆:5 [已解决问题] 解决于 2013-07-31 14:18

一个类中的静态成员是在什么时候创建的?内存分配在什么地方?希望能够得到详细解答

C#
风语-风信子的主页 风语-风信子 | 初学一级 | 园豆:131
提问于:2012-05-24 11:37
< >
分享
最佳答案
0

静态成员 可以在 类的申明或者类的静态构造函数 被初始化,有且仅有被初始化一次,那么他的内存空间也只能被分配一次,因为 静态成员(静态字段、静态属性)不能实例化(不能使用new关键字实例),那么它的内存空间分配在 栈上

 

构造函数、实例方法等等执行顺序:

分配静态成员内存空间-->执行静态成员初始化-->执行静态构造函数-->分配对象实例内存空间-->执行实例成员初始化-->执行实例构造函数

收获园豆:4
土豆屋 | 菜鸟二级 |园豆:354 | 2012-05-24 12:57
其他回答(2)
0
悟行 | 园豆:12559 (专家六级) | 2012-05-24 12:51
0

补充下孤月狼的回答:静态成员的初始化、静态构造函数的调用等是在对这个类首次使用的时候执行,这个首次使用指的是在代码中用到这个,无论是定义变量还是创建类型还是类型转换。

收获园豆:1
无之无 | 园豆:5095 (大侠五级) | 2012-05-24 13:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册