楼主先区分static变量和非static变量的区别。
非static变量是实例相关的,会在对象创建时进行初始化。因此可以在普通代码块、对象的初始化语句或者构造器中进行初始化。静态不能访问非静态,所以非static修饰的final变量不能在static代码块中进行初始化。
static变量是与类相关的,会在类加载时进行初始化。类加载时会执行静态代码块和类的初始化语句(static变量的初始化语句)。因此被static修饰的final变量要么在类的初始化语句中显式地指定初始值,要么在静态代码块中指定初始值。
|
|