gpt4 book ai didi

java - 为什么 print 语句在使用初始化器、构造器和方法调用时按此顺序执行?

转载 作者:行者123 更新时间:2023-11-29 07:45:09 25 4
gpt4 key购买 nike

这是我正在运行的代码,这段代码的输出是 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 ");
}

关于java - 为什么 print 语句在使用初始化器、构造器和方法调用时按此顺序执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26505374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com