为了方便内容的开展,我先说说一个对象的构造过程。
对于类型第一个实例的构造过程大致如下:
1. 分配静态成员的内存空间,此时空间存储数据为0;
2. 执行静态成员的初始化语句;
3. 执行基类的静态构造函数;
4. 执行类型的静态构造函数;
5. 分配成员的内存空间,此时空间存储数据为0;
6. 执行成员的初始化语句;
7. 执行相应的基类构造函数;
8. 执行类型的构造函数。
那么对于同类型的后续创建对象,前4个步骤不用执行的,直接从第5步开始。
现在来说说为什么推荐使用成员初始化语句来初始化成员。由于成员初始化先于构造函数的调用,所以更早初始化有利于使用;其次,避免对构造函数重复添加初始化代码,尤其是新增成员的时候,把初始化放到定义成员的位置,减少因构造函数之间的不一致,而造成某些成员未被初始化。而且把成员初始化从构造函数中抽出来,使代码显得更简洁明朗。
例如:
public class MyList
{
//Init class mem...[ 查看全文 ]