Q-->question        A-->answer        M-->mention(2007-06-05)
          The Chapter 8th  Method
Q:何为构造器(在元数据表中为.ctor)?
A:是允许将类型实便初始化为有效状态的特殊方法.

M:创建实例对象的过程===>
为数据字段分配内存->初始化系统的开销字段(类型对象指针和同步块索引)->调用类型的实例构造器设置对象的初始状态

Q:abstract修饰的类有无构造器?
A:有,但生成的默认构造器的可访问性为protected,也就是无法在类的外部进行实例化,如果其类没有无参构造器,那派生类必须显式地调用其类的构造器,若类的修饰符为static(sealed和abstract).那类中将无任何构造器(自动生成).

M:如果类中有很多直接初始化字段且多个构造器的话,则会造成代码膨胀,其原因是:每个字段的初始化值都是通过构造器来完成的,直接初始化只是个简洁语法,好的做法是==>
在一个构造器中初始化所有字段,而另一些重载的版本则通过调用此构造器来改变一些额外字段.

M:==>值类型不允许包含显示定义的无参构造器,它旨在消除开发人员对于何时调用产生混淆.

Q:何为静态构造器?
A:其只能定义一个,并且要是无参数,且不能加访问修饰符,其本身就是private,供CLR调用,且只执行一次,内部采用纯种同步锁加以控制.其常规用途=>为静态字段初始化,且只能访问表态字段.

posted on 2007-06-05 08:52  晓木  阅读(164)  评论(0编辑  收藏  举报