1. 成员变量定义初始化
- 成员变量在定义的地方就可以直接给出初始值
- 没有给出初始值的成员变量会自动获得初始值
* Boolean:false
* 对象变量:null- 对象变量的0值表示没有管理任何对象,也可以主动给null值
- 定义初始化可以调用函数,甚至可以试用已经定义的成员变量
2. 构造函数
- 如果有一个成员函数的名字和类的名字完全相同,则在创建这个类的每一个对象的时候会自动调用这个函数——>构造函数
- 进入构造函数后先去这个构造函数外面类的里面去进行定义初始化,初始化做完后回到构造函数,构造函数做完回到对象,把这个构造出来的对象交给这个对象管理。然后才有这个对象。
- 这个函数不能有返回类型
3. 函数重载
- 一个类可以有多个构造函数,只要它们的参数不同
- 创建对象的时候给出不同的参数值,就会自动调用不同的构造函数
- 通过**this()**还可以调用其他构造函数
- 一个类里的同名但参数表不同的函数构成了重载关系
VendingMachine(int price)
{
this();//调用那个没有参数的构造函数
//这个this()只能在构造函数里出现且只能是这个构造函数里的第一句只能使用一次
this.price=price;
}