什么时候必须在子类中定义构造函数?

时间:2019-07-16 03:01:25

标签: java android inheritance parameterized-constructor

尝试继承数组适配器类时,如果未在子类中定义构造函数,则会给我一个错误。...为什么要定义构造函数

public class WordAdapter extends ArrayAdapter<word> {
    public WordAdapter(Activity context, ArrayList<word> word) {

        super(context,0, word);
    }

1 个答案:

答案 0 :(得分:0)

问题:...为什么要定义构造函数?

答案:由于ArrayAdapter类没有默认构造函数,因此我们需要定义一个与超类中六个构造函数之一匹配的构造函数。

您可以在此处了解更多信息:

https://medium.com/@Sudhagar/android-array-adapters-what-most-of-the-tutorials-don-t-tell-you-90f898fb54a2

不是每个构造函数都被子类继承。 ArrayAdapter没有默认的构造函数,这就是您需要定义应该调用的构造函数的原因。

有很多文章描述了子类中构造函数的确切行为。

何时必须在子类中定义构造函数?

答案:在这种情况下,如果超类中没有默认构造函数。