构造器

来源:互联网 发布:聚合数据害人 编辑:程序博客网 时间:2024/04/26 02:48

  使用构造器执行初始化   

              构造器最大的用处就是在创建对象时执行初始化。当创建一个对象时,系统为这个对象的属性进行默认初始化,把基本类型的属性设为0(对数值型属性)或false(对布尔型属性),把所有引用类型的属性设置位null.

如想改变这种默认的初始化,让系统创建对象时就为该对相各属性显式指定初始值就可以通过构造器来实现。

如果没有为类提供任何构造器,则系统会提供一个无参数的构造器,这个构造器的执行体为空,不做任何事情。一旦提供了自己的构造器,则系统不再提供默认的构造器。

 

 

构造器的重载

      如希望该类保存无参的构造器,或者希望有多个初始化过程,则可以为该类提供多个构造器。此时就形成了构造器重载。通常建议为类保留无参数的默认构造器。构造器主要用于被其他方法来调用,用以返回该类的实例,故通常把构造器设置位public,从而允许任何位置的类来创建该类的对象,如希望限制创建该类的对象,可以舍维private阻止其他类创建该类的对象。protected用于被其子类来调用。

     通过构造器重载可以通过不同的构造器来创建对象。

    

    在一个构造器里直接使用另一个构造器:

   构造器不能直接被调用,须使用new来调用,当一旦使用new来调用就会重新创建一个对象,但为了在构造器B中调用构造器A中得出实话,又补重新创建对象,可以使用this来调用如下

public class Apple

{

  public String name;

  public String color;

  public double weight;

  public Apple()

{

}

 public Apple (String name,String color)

{

this.name=name;

this.color=color;

}

public Apple(String name,String color,double weight)

{

//通过this调用另一个重载的构造器的初始化代码

this.(name,color);

//下面this引用该构造器正在初始化的java对象

this.weight=weight;

 

}

 

使用this调用另一个重载的构造器只能在构造器中使用,而且必须作为构造器执行体的第一条语句。使用this调用重载的构造器时,系统会根据this后括号里的参数来调用参数列表与之对应的构造器。