概念
构造器是一个特殊的方法,其用于创建对象时执行初始化。什么叫做初始化?就是给对象赋值。
- java类必须包含一个及以上的构造器。
- 构造器的名字必须与类名相同
默认构造器
不过即使在创建对象时没有写构造器也不用担心,因为系统会默认提供一个无参数的构造器。此构造器能对各种数据类型进行赋初值。
类型 | 初始值 |
---|---|
数值类型 | 0 |
布尔类型 | false |
引用类型 | null |
自定义构造器
如果系统默认提供的构造器不能满足要求,也可以自己定义构造器,即在创建对象时显示指定对象属性的值。不过如果自己定义了构造器,系统就不再提供默认的构造器了。
public class ConstructorTest{
public String name;
public int count;
//提供自定义的构造器
public ConstructorTest()
{
this.name=name;
this.count=count;
}
public static void main(String[] args){
//调用构造器,得到该类的实例对象
ConstructorTest tc=new ConstructorTest ("格林童话",30);
sout(tc.name);
sout(tc.count);
}
}
原理
程序调用构造器时,系统会先为该对象分配内存空间,并为这个对象执行默认初始化,这个对象就产生了。只是此时还不能被外部程序访问。当构造器的执行体执行结束后,这个对象作为构造器的返回值被返回,通常还会赋值给另一个引用类型的变量,从而让外部程序可以访问该对象。