gpt4 book ai didi

java - 这个构造函数调用是如何工作的?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:08:21 26 4
gpt4 key购买 nike

谁能解释一下这个构造函数调用是如何工作的。因为我假设它应该打印

hello from class A

hello from class B

hello from class C

我在这里很困惑。任何帮助表示赞赏。下面是我的代码。

public class A {
A(){
System.out.println("hello from class A");
}
}

public class B extends A {
B(){
System.out.println("hello from class B");
}
}

public class C extends B {
C(B b){
System.out.println("hello from class C");
}
public static void main(String[] args) {
new C(new B());
}
}

//result

hello from class A
hello from class B
hello from class A
hello from class B
hello from class C

最佳答案

派生类的每个构造函数首先构造其基类:因此首先创建类 B 的对象,导致首先调用 A()。然后创建类 C 的对象,导致首先调用 A() 和 B()。

关于java - 这个构造函数调用是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35759450/

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