------------------------------------------------------------------
变量的初始化
初始化就是给变量一个初始值,如你声明一个变量:
String aa = "abc";
其中 abc 就是初始化的值 ,最后值不一定是 abc ,比如你覆盖了 aa的值,aa = "def"
------------------------------------------------------------------
类的初始化
类初始化阶段,主要是为类变量(静态变量)赋予正确的初始值。这里的“正确”初始值指的是程序员希望这个类变量所具备的起始值。一个正确的初始值是通过类变量初始化语句或者静态初始化块给出的;
类初始化时机:Java 虚拟机规范为类的初始化时机做了严格定义:在首次主动使用时初始化。
1) 创建类的新实例;
2) 调用类的静态方法;
3) 操作类或接口的静态字段(final字段除外);
4) 调用Java的特定的反射方法;
5) 初始化一个类的子类;
6) 指定一个类作为Java虚拟机启动时的初始化类,含有main()方法的类启动时;
除了以上六种情形以外,所有其它的方式都是被动使用的,不会导致类的初始化。
------------------------------------------------------------------
对象的初始化
Java对象在其被创建时初始化;