gpt4 book ai didi

java - 哪个先执行,父构造函数还是子构造函数?

转载 作者:搜寻专家 更新时间:2023-11-01 02:05:42 25 4
gpt4 key购买 nike

我已经将这段代码放入编译器

package com.employer.constractor;

public class ConstractorDemo extends A{
public ConstractorDemo(){
System.out.print("Demo");
}
public static void main(String[] args){
new ConstractorDemo();
}
}

class A {
A(){
System.out.print("A");
}
}

它给出了“ADemo”为什么?对于这种情况,我将不胜感激并提及编译器将如何处理它

最佳答案

基类的构造函数(在您的例子中是 A 类)总是在您正在实例化的类的构造函数之前执行(在您的例子中是类 ConstractorDemo)。这就是 ADemo 之前打印的原因。

这个构造函数:

public ConstractorDemo(){
System.out.print("Demo");
}

相当于:

public ConstractorDemo(){
super (); // prints A
System.out.print("Demo"); // prints Demo
}

关于java - 哪个先执行,父构造函数还是子构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34491335/

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