gpt4 book ai didi

java - 无法理解程序工作流程

转载 作者:行者123 更新时间:2023-11-29 08:36:17 27 4
gpt4 key购买 nike

// filename: Test2.java
class Test1 {
Test1(int x) {
System.out.println("Constructor called " + x);
}
}

// This class contains an instance of Test1
class Test2 {
Test1 t1 = new Test1(10);

Test2(int i) { t1 = new Test1(i); }

public static void main(String[] args) {
Test2 t2 = new Test2(5);
}
}

Output:
Constructor called 10
Constructor called 5

任何人都可以向我解释这个程序的输出吗?我不知道如何打印“Constructor called 10”。提前致谢。

最佳答案

  • 您的 main 调用 Test2 的构造函数.
  • 在执行该构造函数的主体之前,该类的所有实例变量都已初始化。
  • 这包括 Test1 t1 = new Test1(10);它执行 Test1 的构造函数使用参数 10 并打印“Constructor called 10”。
  • 然后才是 Test2 的正文执行构造函数,其中包括t1 = new Test1(i); , 它执行 Test1 的构造函数使用参数 i (其值为 5)并打印“Constructor called 5”。

关于java - 无法理解程序工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43900720/

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