gpt4 book ai didi

java - 哪个是正确的选择?绳索?

转载 作者:行者123 更新时间:2023-12-01 16:56:37 35 4
gpt4 key购买 nike

public class Sequence { 
Sequence() {
System.out.print("c ");
}

{
System.out.print("y ");
}

public static void main(String[] args) {
new Sequence().go();
}

void go() {
System.out.print("g ");
}

static {
System.out.print("x ");
}
}

结果是什么?

  • A) c x y g
  • B) c g x y
  • C) x c y g
  • D) x y c g
  • E) y x c g
  • F) y c g x

这是Oracle认证问题,答案是选项D。我不明白答案。我认为选项C是正确的。谁能解释一下为什么答案是选项D而不是选项C?

最佳答案

基本上,只需阅读 JLS 12.5 (Creation of New Class Instances) 即可。仔细。

特别要注意以下顺序:

  • Execute the instance initializers and instance variable initializers for this class [...]

  • Execute the rest of the body of this constructor. [ ... ]

y 由实例初始值设定项打印; c 由构造函数的主体打印 - 因此首先打印 y

关于java - 哪个是正确的选择?绳索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31870915/

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