问题描述
- JAVA初始块中的变量与类中的成员变量区别
-
class Demo{
{
a = 4;
}
int a = 6;
public static void main(String[] args){
System.out.println(new Demo().a);
}
}
两个a是同一个变量吗?
解决方案
是同一个变量。
初始化块中指定的变量a的初始值每次都会被定义时指定的变量a的值所覆盖,因为定义变量时指定的初始值和初始化块中指定的初始值的执行顺序,跟它们在源程序中的排列顺序相同。
详细可搜索“实例变量的初始化”。
也可参考http://blog.csdn.net/Hreo111/article/details/36055335(java中实例变量的初始化时机)
时间: 2024-12-09 21:57:38