gpt4 book ai didi

java - 为什么在扩展抽象类中需要另一个构造函数?

转载 作者:行者123 更新时间:2023-11-30 10:50:44 24 4
gpt4 key购买 nike

<分区>

我遇到过这个问题,我想知道这里有什么区别:

abstract class Abstract {
Abstract() {
System.out.println("Abstract.Abstract()");
}

Abstract(String s) {
System.out.println("Abstract.Abstract(String)");
}

void test() {
System.out.println("Abstract.test()");
}

void test(String s) {
System.out.println("Abstract.test(s)");
}
}

abstract class Base extends Abstract {
}

class Sub extends Base {
Sub(String s) {
super(s); // undefined constructor
}

void subTest(String s) {
super.test(s); // why is this all right then?
}
}

为什么我必须定义 Base(String s) 构造函数以使其可编译,但 super.test(s) 调用可以正常调用而无需定义任何内容?

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