Fianl修饰的变量
实例变量必须显式指定初始值,而且只能在如下3个位置指定初始值:
定义final实例变量时指定初始值;在非静态初始化块中指定初始值;在构造器中指定初始值;例1
public class FinalInstanceVariableTest {
final int var1 = "疯狂java讲义".length();
final int var2;
final int var3;
{
var3 = "疯狂XML讲义".length();
}
public FinalInstanceVariableTest(){
var2 = "轻量级Java EE企业应用实战".length();
}
}
类变量同样必须显式指定初始值,而且final类变量只能在2个地方指定初始值:
定义final类变量时指定初始值;在静态初始化块中指定初始值;例2
public class FinalInstanceVariableTest {
final static int var1 = "疯狂java讲义".length();
final static int var2;
static{
var2 = "疯狂XML讲义".length();
}
}
宏替换就是等价量的替换;
对于final实例变量而言,只有在定义该变量时指定初始值才会有“宏变量”的效果,在非静态初始化块、构造器中为final实例变量指定初始值则不会有这种效果。
实例变量必须显式指定初始值,而且只能在如下3个位置指定初始值:
定义final实例变量时指定初始值;在非静态初始化块中指定初始值;在构造器中指定初始值;例1
public class FinalInstanceVariableTest {
final int var1 = "疯狂java讲义".length();
final int var2;
final int var3;
{
var3 = "疯狂XML讲义".length();
}
public FinalInstanceVariableTest(){
var2 = "轻量级Java EE企业应用实战".length();
}
}
类变量同样必须显式指定初始值,而且final类变量只能在2个地方指定初始值:
定义final类变量时指定初始值;在静态初始化块中指定初始值;例2
public class FinalInstanceVariableTest {
final static int var1 = "疯狂java讲义".length();
final static int var2;
static{
var2 = "疯狂XML讲义".length();
}
}
宏替换就是等价量的替换;
对于final实例变量而言,只有在定义该变量时指定初始值才会有“宏变量”的效果,在非静态初始化块、构造器中为final实例变量指定初始值则不会有这种效果。