gpt4 book ai didi

Java 构造函数通过 super() 关键字调用会产生冲突结果

转载 作者:行者123 更新时间:2023-12-01 07:46:32 24 4
gpt4 key购买 nike

这是我实现的用于检查继承者行为的代码

超一流

class Vehicle {

public Vehicle(int x) {
System.err.println("super param " +x);
}

public Vehicle() {
System.err.println("super defult");
}
}

子类

class Bus extends Vehicle {

public Bus(int y) {
super(y);
System.out.println("Sub param");
}

public Bus() {
super(11);
System.out.println("Sub Class defult");
}
}

主类是

public class TestClass {
public static void main(String[] args) {
new Bus();
}
}

三个不同的结果如下所示

result 1

enter image description here

result 2

enter image description here

result 3

enter image description here

**这里发生了什么?输出的顺序与我们预期的不同**

最佳答案

在您的父类(super class)中,您打印到 System.err,但在子类中,您打印到 System.out,因此您的问题与继承无关,而是与打印的工作原理有关。

关于Java 构造函数通过 super() 关键字调用会产生冲突结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50771980/

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