【发布时间】:2019-02-11 10:12:18
【问题描述】:
class A {
public A() {
System.out.println("Constructor A");
}
}
class B extends A {
public B() {
System.out.println("Constructor B");
}
}
class C extends B {
public C() {
System.out.println("Constructor C");
}
public static void main(String[] args) {
C c = new C();
}
}
运行代码时,它会调用所有构造函数,但只需要调用子构造函数。
像只打印一样输出
Constructor C
【问题讨论】:
-
你不能那样做。时期。您可能不想为您的用例使用继承
-
你为什么要那个?
-
面试官问我
-
我需要知道如何调用唯一的子类构造函数
-
@SachinDoifode 对我来说似乎是一个愚蠢的面试问题。也许它可以使用
sun.misc.Unsafe类
标签: java inheritance constructor constructor-chaining