关于static语句块儿和初始化静态变量的一些联系:
class StaticDemo
{
static
{
_i=20;
}
public static int _i=10;
public static void main(String[] args)
{
System.out.println(_i);
}
}
结果输出多少呢?
其实本段代码等价于:
class StaticDemo
{
static
{
_i=20;
}
public static int _i;
static
{
_i=10;
}
public static void main(String[] args)
{
System.out.println(_i);
}
}
继续等价于:
class StaticDemo
{
public static int _i;
static
{
_i=20;
_i=10;
}
public static void main(String[] args)
{
System.out.println(_i);
}
}
显然结果输出:10
本文探讨了Java中static语句块与静态变量初始化的关系,通过实例代码展示了多个静态块和静态变量初始化的执行顺序,并解释了最终输出结果的原因。

被折叠的 条评论
为什么被折叠?



