gpt4 book ai didi

java抽象类,父类(super class)中没有调用构造函数,为什么?

转载 作者:行者123 更新时间:2023-12-01 06:28:52 26 4
gpt4 key购买 nike

下面是一个简单的例子。我有两个抽象类,AB,一个具体类,C,其中包含抽象方法。

当我创建一个新的 C 时,我希望看到 AB 的构造函数被调用。知道为什么他们不被调用吗?

//Q.java
class Q {
abstract class A {
A() {
System.out.println("in A");
}
public abstract void sayHi();
}
abstract class B extends A {
B() {
super();
System.out.println("in B");
}
}
class C {
C() {
super();
System.out.println("in C");
}
public void sayHi() {
System.out.println("Hi!");
}
}

Q() {
C Ccc = new C();
}

public static void main(String[] args) {
Q z = new Q();
}
}

最佳答案

因为c的父类(super class)是Object

其他类名称以大写字母开头 A、B、C 等

如果您想查看 ab 都被调用,请执行以下操作:

class c extends b

关于java抽象类,父类(super class)中没有调用构造函数,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14122450/

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