我必须为java中的所有继承类生成构造函数吗?
我的基类有一个带参数(String、String、int)的构造函数 三个不同的类继承自它。 继承的类A也有一个带参数(String、String、int)的构造函数,但实现方式不同 我的问题是,如果我没有在继承的类B和C中使用参数(String,String,int)创建构造函数,它们会继承基类的构造函数吗?我必须为java中的所有继承类生成构造函数吗?,java,inheritance,constructor,Java,Inheritance,Constructor,我的基类有一个带参数(String、String、int)的构造函数 三个不同的类继承自它。 继承的类A也有一个带参数(String、String、int)的构造函数,但实现方式不同 我的问题是,如果我没有在继承的类B和C中使用参数(String,String,int)创建构造函数,它们会继承基类的构造函数吗? 我在B和C中需要与在基类中相同的实现。通常,不,构造函数不是继承的。您必须在每个子类中重新定义它们 例外情况是隐式无参数构造函数,它调用超类的无参数构造函数,如果没有明确定义其他构造函数
我在B和C中需要与在基类中相同的实现。通常,不,构造函数不是继承的。您必须在每个子类中重新定义它们
例外情况是隐式无参数构造函数,它调用超类的无参数构造函数,如果没有明确定义其他构造函数,则会出现该构造函数。如果未在基类
B
和C
中指定构造函数,则将获得默认构造函数。这是运行时提供的无参数构造函数,您可以将其用于任何对象
,而无需定义明确的构造函数
如果要访问超类构造函数,可以执行以下操作
public A(String str, String str2, int num)
{
super(str, str2, num);
}
额外阅读
- 您可以阅读有关
关键字的使用super
- 您可以阅读Java中继承的get