ошибка: конструктор Name2 в классе Name2 не может быть применен к данным типам; - PullRequest
0 голосов
/ 28 апреля 2020

во время кодирования я столкнулся с некоторой проблемой. В многоуровневом наследовании cl является переменной, используемой как в классе A, так и в B, но при запуске программы выдает ошибку. Я вставляю код ниже.

     class Name{
    int cl=0;
}
class Name2 extends Name{
    public Name2(int cl)
    {
        this.cl=cl;
    }
    public String toString()
    {
        return String.valueOf(cl);
    }
}
class Name3 extends Name2{
    int tl;
    public Name3(int cl,int tl)
    {
        super();
        this.tl=tl;
    }
    public String toString()
    {
        return String.valueOf(cl);
    }
}

public class HelloWorld{

     public static void main(String []args){
        Name3 obj=new Name3(3,6);

        System.out.println(obj);
     }
}



  ----------------------------------

Output is:

    > $javac HelloWorld.java HelloWorld.java:18: error: constructor Name2 in
    > class Name2 cannot be applied to given types;
    >         super();
    >         ^   required: int   found: no arguments   reason: actual and formal argument lists differ in length 1 error

1 Ответ

1 голос
/ 28 апреля 2020

Как говорит ошибка, вам нужно передать аргумент int в super () в construtor.

public Name3(int cl,int tl)
    {
        super(cl);
        this.tl=tl;
    }
...