深入构造器
构造器是有一个特殊的方法,这个特殊方法用于创建实例时执行初始化。构造器是创建对象的重要途径(即使使用工厂模式、反射等方式创建对象,其实质依然是依赖于构造器),因此Java类必须包含一个或一个以上的构造器。
构造器无返回值。
构造器名称必须与类名称相同。
-
使用构造器执行初始化
构造器最大的用处就是在创建对象时执行初始化,当创建一个对象时,系统为这个对象的实例变量进行初始化,这种默认的初始化把所有基本类型的实例变量都设为0(对数组型实例变量)或false(对布尔类型实例变量),把所有引用类型的实例变量都设为null。
如果想改变这种默认的初始化,想让系统创建对象时就为该对象的实例变量显示指定初始值,就可以通过构造器来实现。
下面类提供了一个自定义的构造器,通过这个构造器就可以让程序员进行自定义的初始化操作。
public class ConstructorTest { public String name; public int count; //提供自定义的构造器,该构造器包含两个参数 public ConstructorTest(String name,int count) { //构造器里的this代表它进行初始化的对象 //下面两行代码将传入的2个参数赋给this代表对象的name和count实例变量 this.name=name; this.count=count; } public static void main(String[] args) { //使用自定义的构造器来创建对象 //系统将会对该对象执行自定义的初始化 ConstructorTest tc=new ConstructorTest("疯狂Java讲义",9000); //输出ConstructorTest对象的name和count两个实例变量 System.out.println(tc.name); System.out.println(tc.count); } }
运行上面程序,将看到输出ConstructorTest对象时,它的name实例变量不再是null,这就是提供自定义构造器的作用。