gpt4 book ai didi

java - 字段初始化的顺序是什么?

转载 作者:行者123 更新时间:2023-12-01 17:17:55 28 4
gpt4 key购买 nike

我在学习考试模型时读到了这个问题。

class Was
{
private int a=show();
private int b=5;
private int show()
{
return b;
}
public static void main(String args[])
{
System.out.println((new Was()).a);
}
}

我编译了这个,它打印为 0。为什么它不打印为“5”?

最佳答案

字段初始化在调用构造函数时发生并按声明顺序进行。该字段

private int a=show();

在之前初始化

private int b=5;

它使用 show() 返回的值进行初始化。此时b尚未初始化为5。它的默认值为0。因此 show() 返回 0。该值被分配给a

关于java - 字段初始化的顺序是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20733123/

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