起到初始化作用的有构造器与初始化块
构造器:
构造器是一种特殊的方法,与类名同名,这种方法可以用于创建实例时执行初始化操作;java类必须有一个及一个以上的构造器,如果没有写构造器,系统会默认生成一个构造器,啥也不做。如果同一个类要出现多个构造器,即构造器重载,构造器重载跟方法重载差不多,毕竟构造器也是方法,形参列表不一样即可。
当出现A构造器需要调用B构造器,又不会new一个对象时,可以使用this来调用B构造器。
初始化块:
初始化块跟构造器的作用非常相似
语法:
[修饰符] {
//初始化代码
}
修饰符只能是static或者不修饰(static修饰的被称为静态初始化块或类初始化块,static一直很传统哈,有它在就跟类有关,跟管家一样,由它修饰就有类与实例本身之分,类变量,类方法不能访问实例变量,实例方法)
初始化块总是在构造器之前执行;
与构造器不同的是构造器有形参列表那么说明他可以接收参数,但初始化块就没有,它就不可以接受参数
所以不需要接受参数的初始化代码就可以写到初始化块中,需要接受参数的就要写到构造器中;