这是我正在运行的代码,该代码的输出是 4 2 1 3 ,有人可以解释一下为什么结果是按这个顺序打印的。
public class goFuncTest {
goFuncTest()
{
System.out.print("1 ");
}
{
System.out.print("2 ");
}
public static void main(String[] args)
{
new goFuncTest().go();
}
void go()
{
System.out.print("3 ");
}
static
{
System.out.print("4 ");
}
}
根据您最近的问题编辑,您的输出将为 4 2 1 3。首先运行静态初始化程序,然后运行实例初始化程序。如果您有多个相同类型的初始值设定项,它们将按照它们在类中出现的顺序执行。
// static initializer first
static {
System.out.print("4 ");
}
// then instance initializer
{
System.out.print("2 ");
}
接下来构造函数启动,它会给出:
goFuncTest()
{
System.out.print("1 ");
}
最后调用该方法:
void go()
{
System.out.print("3 ");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)