对类的初始化实际过程为:
1 在其他任何事物发生之前,将分配给对象的存储空间初始化成二进制的零。这点非常重要。
2 调用基类构造器。
3 调用成员的初始化方法。
4 调用导出类的构造器主体。
因此,编写构造器时有一条有效的准则:用尽可能简单的方法使对象进入正常状态,如果可以的话,避免调用其他方法。在构造器内唯一能够安全
调用的那些方法是基类中的final方法(也适用于private方法,它们自动属于final方法)。这些方法不能被覆盖,因此也就不会出现令人惊讶的问题。
对类的初始化实际过程为:
1 在其他任何事物发生之前,将分配给对象的存储空间初始化成二进制的零。这点非常重要。
2 调用基类构造器。
3 调用成员的初始化方法。
4 调用导出类的构造器主体。
因此,编写构造器时有一条有效的准则:用尽可能简单的方法使对象进入正常状态,如果可以的话,避免调用其他方法。在构造器内唯一能够安全
调用的那些方法是基类中的final方法(也适用于private方法,它们自动属于final方法)。这些方法不能被覆盖,因此也就不会出现令人惊讶的问题。