1

试图继承数组适配器类时,它给了我一个错误,当没有在子类中定义构造函数时......我为什么要定义一个构造函数

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

        super(context,0, word);
    }
4

1 回答 1

0

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

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

您可以在此处阅读有关此内容的更多信息:

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

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

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

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

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

于 2019-07-16T03:21:08.370 回答