静态代码块
1.特点:通过static关键字修饰(因为是静态所有所有想要使用静态代码块的变量都需要使用static修饰),随着类的加载儿加载,并且只触发执行一次。
2.使用场景:在类加载的时候提供数据初始化;
其实对于数据初始化,我疑惑了很久,那在main中直接添加 数据不也是数据初始化吗?
最终发现在main中添加数据,如果在以后需要反复使用main时,那么这段代码就会反复被执行,例如在学生系统中创建一个集合,并且在main中添加初始数据,那每次执行,都会重复添加一个该数据。
在数据初始化时注意(还是以学生管理系统为例)
你要初始化的集合必须只存在于mian方法之外,如果存入main方法之中,那就会初始化失败
//通过static代码块来给学生管理系统初始化数值(也就是创建几个不用注册就能登录的用户)
static ArrayList<studentpro> list = new ArrayList<>();
static {
list.add(new studentpro("zhangsan","123qwe","123","1"));
}
这样就可以成功实现无视密码/账号规则来创建自己的账号。