初始化块
什么是初始化块
》初始化块是java类中出现的第四类成员(成员变量、成员方法、构造方法)
》其功能与构造方法非常类似,可以对java进行初始化操作
//定义初始化块
{
System.out.println("Person类的第一个初始化块:所有person对象都有自己的名字");
}
{
int num = 10;
if (num >=10) {
System.out.println("Person类的第二个初始化块:num的值大于10");
}
}
public Person() {
System.out.println("这是Person类的无参方法");
}
初始化块特点:
初始化块中可以包含任何可执行语句,包括变量定义、调用方法、访问成员变量、分支、循环等
一个类中可以出现多个初始化块
创建对象时,由系统默认调用,因为初始化没有任何名称标志,所以无法显示调用
当有多个初始化块时,从上到下依次执行,并且是在构造方法之前执行
虽然一个类中允许有多个初始化块,但这样没有意义,只写一个即可
初始化块和构造方法的比较
1、在某种程度上,初始化块是对构造方法的补充,都是针对对象进行初始化操作
不同的是,初始化块是一段固定的代码,不接受参数,也没有任何返回操作,对所有对象的处理完全相同
2、若有一段代码,无需接收任何参数,对所有对象的处理完全相同,那就可以将其放到初始化块中
静态初始化块
使用static修饰的初始化块可以称之为类初始化块
类初始化块同其他静态成员一致,随着类的加载而加载,比普通初始化先执行
并且只能访问静态成员
初始化之前,只能添加static修饰符