【发布时间】:2018-09-26 01:47:13
【问题描述】:
所以对于我的作业,我必须创建一个包含一些扩展类的抽象类。我被困在一个部分。在我的课程中,我似乎找不到任何地方告诉我如何调用抽象类的构造函数。这是我老师的指示。
MyMath's constructor will just call Homework's constructor and again have no arguments.
这是我的抽象构造函数代码:
public Homework(){
pagesRead = 0;
typeHomework = "none";
}
在 MyMath 类中,我应该在 MyMath 的构造函数中调用这个构造函数,但我不知道该怎么做,而且在我们上过的任何其他课程中都找不到它。任何帮助表示赞赏:)
【问题讨论】:
-
通过调用子类的构造函数,还能怎样?调用子构造函数会自动调用父构造函数,即使你没有显式编写代码
-
你调用一个超类构造函数,
super()作为你的子类构造函数的第一行。 docs.oracle.com/javase/tutorial/java/IandI/super.html -
您调用抽象类的构造函数,就像调用任何其他超类构造函数一样:隐式调用(仅当它不需要参数时),或者通过@JackFlamp 提到的
super(/*...*/),或者显式调用或将参数传递给它。奇怪的是抽象类有一个public构造函数,虽然(与protected相反),但我认为它没有任何区别......
标签: java class constructor abstract extends