A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我猜静态类应该是在程序结束时销毁吧,要拿证据出来说话呀,猜是没用的。求提升测试能力!

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
有来有趣 发表于 2012-10-20 01:01
静态成员在编译时已经分配内存了。
静态类仅能包含静态成员,而且静态类不包含实例构造函数(也即不能被实 ...

MSDN的解释肯定是权威的,但是我想知道怎么去测试它。比如装箱和拆箱可以用IL反编译直观的看出来,这里引用一下我对静态类的理解和为什么想要得知静态类在什么时候销毁。
什么时候用静态类,什么时候用非静态类,有什么区别意义?
我的理解:
静态类:当系统中有公共类的时候,可以把这个公共类声明为静态类,静态类成员直接用类调用,在调用时执行静态构造函数,此时得到一个实例。我猜静态类应该是在程序结束后销毁吧(明天看怎么测试下),如果正如我猜想的那样,那么好处就是这个程序从始至终都只有一个实例。
非静态类:当系统中需要用到该类的多个实例时,就使用非静态类。好处是多个实例之间互不影响。
从字面意义的理解,静态:静止的状态,不会产生变化,所以只有一个实例。非静态(又称实体类):非静止的状态,会产生变化,所以可能会有多个实例。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马