类的初始化总共分为下面几种
1.定义变量时的初始化
2.初始化块
创建类的对象时,定义变量并赋初始值之后,最先使用初始化块进行初始化,初始化块分为一般初始化块和静态初始化块
一般初始化块:形如{},一般初始化块里可以初始化普通成员变量,也可以初始化类成员变量,
静态初始化块:形如static{},静态初始化块只可以初始化静态成员变量.
如果同时存在两种初始化块,则静态初始化块最先进行初始化
3.构造器
总结:
<p>当创建一个类的对象时,初始化的顺序依次为: 定义变量并赋初值 ------> 调用静态初始化块 -------> 调用一般初始化块 -------> 调用相应的构造器 -----> 当前方法中进行操作</p>
简单测试
public class InitTest{
private String name = "成兮";
private static int age = 10;
static{
age = 20;
System.out.println("静态初始化块初始化中");
}
{
name = "缘分五月";
System.out.println("一般初始化块初始化中");
}
public InitTest(){
this.name - "程序猿";
Systme.out.println("构造器初始化中");
}
public static void main(String[] args){
InitTest test = new InitTest();
System.out.println("我的名字 -> " + test.name);
System.out.println("我的年龄 -> " + test.age);
}
}
静态初始化块初始化中
一般初始化块初始化中
构造器初始化中
我的名字 -> 程序猿
我的年龄 -> 20