Расширение подкласса из parentclass говорит, что нет конструкторов по умолчанию? - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь наследовать подклассу от класса LesEenheid до подкласса Vak. Но я сразу же получаю сообщение о том, что в com.company.LesEenheid нет конструктора defautl.

package com.company;

public class LesEenheid {
    private String naam;
    private int ects;
    private int studiejaar;

    public LesEenheid(String lesNaam, int lesEcts, int lesStudiejaar){
        naam = lesNaam;
        ects = lesEcts;
        studiejaar =lesStudiejaar;
    }

    public String toString(){
        return naam + " " + ects + " " + studiejaar;
    }
}

public class Vak extends LesEenheid {



}

Ответы [ 2 ]

0 голосов
/ 31 марта 2019

Вам просто нужно вызвать конструктор суперкласса (LesEenheid), чтобы передать аргументы конструктору суперкласса и инициализировать переменные суперкласса

package com.company;

public class LesEenheid {
    private String naam;
    private int ects;
    private int studiejaar;

    public LesEenheid(String lesNaam, int lesEcts, int lesStudiejaar){
        naam = lesNaam;
        ects = lesEcts;
        studiejaar =lesStudiejaar;
    }

    public String toString(){
        return naam + " " + ects + " " + studiejaar;
    }
}

public class Vak extends LesEenheid {

    public Vak(String lesNaam, int lesEcts, int lesStudiejaar)
    {
        Super(lesNaam, lesEcts, lesStudiejaar);
    }
}
0 голосов
/ 31 марта 2019

Вы должны иметь тот же конструктор, определенный в родительском классе, в вашем случае:

public Vak (String lesNaam, int lesEcts, int lesStudiejaar) {

}

Если вы хотите использовать конструктор по умолчанию, вам нужно включить его в суперкласс:

public LesEenheid() {

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...