1 class FinalTest
{
public static final String staticValue1 = "静态变量1";
public static final String staticValue2;
static
{
staticValue2 = "静态变量2";
}
public final String value1 = "实例变量1";
public final String value2;
public final String value3;
{
value2 = "实例变量2";
}
public FinalTest()
{
value3 = "实例变量3";
}
}
对于实例final变量,最晚在构造方法中赋值。
对于静态final变量,最晚在静态初始化块中赋值。
另外类有实例化时,变量的加载顺序为:静态变量或静态块-实例初始化块-构造器块