Java类加载顺序:
加载->验证->准备->解析->初始化
1.类变量的初始化分为两个阶段:
其中类变量赋予系统初值在准备阶段;赋予程序员给定的初始值,在初始化阶段。
系统初始值:
VariableTypeInitTest [intVariaType=0, booleanVariaType=false, longVariaType=0, strVariaType=null, charVariaType=
测试代码如下:
public class VariableTypeInitTest { public int intVariaType ; public boolean booleanVariaType; public long longVariaType; public String strVariaType; public char charVariaType; public byte byteVariaType; public float flVariaType; public double douVariaype; public Object objVariaType; @Override public String toString() { return "VariableTypeInitTest [intVariaType=" + intVariaType + ", booleanVariaType=" + booleanVariaType + ", longVariaType=" + longVariaType + ", strVariaType=" + strVariaType + ", charVariaType=" + charVariaType + ", byteVariaType=" + byteVariaType + ", flVariaType=" + flVariaType + ", douVariaype=" + douVariaype + ", objVariaType=" + objVariaType + "]"; } public static void main(String[] args) { System.out.println(new VariableTypeInitTest()); } }
初始化阶段:是程序对变量赋初值的阶段。
例如:
intVariaType =1;
这样的操作
2.局部变量(方法参数和方法体内变量)没有赋予系统初值这一步,所以,必须程序员手动赋予程序初值,否则程序会编译不通过。