无法继承工作

时间:2016-06-16 07:09:38

标签: java inheritance super

有这两个课程。

public class TVChannel
{
    /**
    * Fields
    */
    private String name;
    private int length;
    private int day;
    private String start;
    private int year;
    private String comment;

    /**
    * Constructor
    */
    public TVChannel (String name, int length, int day, String start, int year)
    {
        this.name=name;
        this.length=length;
        this.day=day;
        this.start=start;
        this.year=year;
        comment=" ";
    }

    public void changeDay(int newday){day=newday;}
    public void changeStart(String start){this.start=start;}
    public String giveName(){return name;}
    public int giveLength(){return length;}
    public int dajDay(){return day;}

    public String toString (){return name + " " + length + ":" + start + ":" + year;}
}

另一个是:

public class Quiz extends TVChannel
{
    private String author;
    private String host;
    public String giveHost(){return host;}
}

所以我试图让TVChannel成为一个超类。但是当我编译测验时,会出现错误信息。

  

类TVChannel中的构造函数TVCHannel无法应用于给定   类型。   要求:java.lang.String中,INT,INT,java.lang.String中,INT,java.lang.String中,java.lang.String中。   发现:没有参数实际和正式的参数列表长度不同

之前从未在课堂上遇到过这个问题。

我试着像这样解决它:

public Quiz(String name, int length, int day, String start, int year) 
{
    super(name, length, day, start, year);
}

但后来我明白了:

  

错误:方法声明无效;需要返回类型吗?

使用公共测验。

为什么Java误认为方法的构造函数?

1 个答案:

答案 0 :(得分:0)

从" TVCHannel"更改构造函数到" TVChannel"。您可能还想使用行代码标识符来帮助您追踪错字。