用构造器确保初始化
用构造器确保初始化
可以假想为编写的每一个类都定义一个initialize()方法。该方法的名称提醒你在使用其对象之前,应先调用initialize()方法。然而这同时意味着用户必须记得自己去调用此方法。在java中,通过提供构造器,类的设计者可确保每个对象都会得到初始化。创建对象时,如果其类具有构造器,java就会在用户有能力操作对象之前自动给调用相应的构造器,从而保证了初始化的进行。
如何命名这个方法。有两个问题:第一,所取的任何名字都可能与类的成员名称相冲突;第二,掉用构造器是编译器的责任,所以必须让编译器知道应该调用哪个方法。
以下是带有构造器的简单类:
1 //Demostration of a simple constructor 2 3 class Rock{ 4 Rock(){ 5 System.out.print("Rock"); 6 } 7 } 8 9 public class SimpleConstructor { 10 public static void main(String[] args) { 11 for (int i = 0; i < 10; i++) { 12 new Rock(); 13 } 14 } 15 }/*Output: 16 Rock Rock Rock Rock Rock Rock Rock Rock Rock Rock 17 */
现在,创建对象时:
new Rock();
将会为对象分配空间,并调用相应的构造器。这就确保了在你能操作对象之前,它已经被恰当的初始化了。
注意:构造器的名称必须与类名完全相同。