能够假想为编写的每个类都定义一个initialize()方法。该方法的名称提醒你在使用其对象以前,应先调用initialize()方法。然而这同时意味着用户必须记得本身去调用此方法。在java中,经过提供构造器,类的设计者可确保每一个对象都会获得初始化。建立对象时,若是其类具备构造器,java就会在用户有能力操做对象以前自动给调用相应的构造器,从而保证了初始化的进行。java
如何命名这个方法。有两个问题:第一,所取的任何名字均可能与类的成员名称相冲突;第二,掉用构造器是编译器的责任,因此必须让编译器知道应该调用哪一个方法。spa
如下是带有构造器的简单类:设计
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 */
如今,建立对象时:code
new Rock();对象
将会为对象分配空间,并调用相应的构造器。这就确保了在你能操做对象以前,它已经被恰当的初始化了。blog
注意:构造器的名称必须与类名彻底相同。编译器