我的基类有一个带参数的构造函数(String,String,int) 三个不同的类继承自它。 继承的类A具有一个带有参数(String,String,int)的构造函数,但具有不同的实现。
我的问题是,如果我不使用参数(String,String,int)在继承的类B和C中创建构造函数,它们是否会继承基类的构造函数? 我需要在B和C中使用与基类相同的实现。
答案 0 :(得分:2)
如果未在基类B
和C
中指定构造函数,则将获得默认构造函数。这是运行时提供的无参数构造函数,您可以将其用于任何Object
,而无需定义明确的constructor
。
如果要访问超类构造函数,可以执行类似的操作。
public A(String str, String str2, int num)
{
super(str, str2, num);
}
额外阅读
答案 1 :(得分:0)
通常,不,构造函数不是继承的。你必须在每个子类中重新定义它们。
这个例外是隐式无参数构造函数,它调用超类的无参数构造函数,如果没有明确定义其他构造函数,它就会出现。