2016-06-16 8 views
-1

これらの2つのクラスを持っています。継承作業はできません

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スーパークラスを作成しようとしています。しかし、クイズをコンパイルすると、エラーメッセージが表示されます。

Constructor TVCHannel in class TVChannel cannot be applied to given types. required:java.lang.String,int,int,java.lang.String,int,java.lang.String,java.lang.String. found:no arguments actual and formal argument lists differ in length

これまでのクラスでこの問題は発生していませんでした。

私はこのようにそれを解決しようとした:

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

しかし、私はこの取得:公共クイズで

error: invalid method declaration; return type required?

を。

Javaがメソッドのコンストラクタを誤っているのはなぜですか?

+1

これを再現できません(http://ideone.com/EI7tcK)。 [mcve]を提供してください(あなたのコンストラクターを追加する方法は正しい - コンストラクターは継承されず、スーパークラスはこれらの5つのパラメーターを持つコンストラクターしか持たないので、サブクラス**は 'super( ...) ')。 –

+0

main()メソッドを提供できますか? – Kaushal28

+1

どのIDEを使用していますか?タイプミスをチェックして、きれいにして再構築してください。また、paranthesesをチェックしてください。どこでCTORを宣言しましたか?上記のスニペットでは、クラススコープの外にあるようです。 – Fildor

答えて

0

夕食会のクラスにデフォルトのコンストラクタを作成してみます。 問題がこれで解決するかどうかを確認してください。 解決できない場合は、使用しているツールまたはコンパイラに問題がある可能性があります。

0

コンストラクタを "TVChannel"から "TVChannel"に変更します。また、行のコード識別子を使用して、誤植を追跡することもできます。

関連する問題