2016-06-16 7 views
-1

이 두 클래스가 있습니다.상속 작업을 수행 할 수 없습니다.

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]를 제공하십시오. (생성자를 추가하는 당신의 접근법은 정확합니다 - 생성자는 상속되지 않습니다. 그리고 수퍼 클래스는 다섯개의 매개 변수를 가진 생성자만을가집니다. 따라서 하위 클래스 **는 반드시이 생성자를'super (...)'). –

+0

main() 메소드를 제공 할 수 있습니까? – Kaushal28

+1

어떤 IDE를 사용하고 있습니까? 오타가 있는지 확인하고 청소하고 다시 작성하십시오. 또한 parantheses를 확인하십시오. CTOR을 어디에서 선언하셨습니까? 위의 스 니펫에서는 클래스 범위 외부에있는 것으로 보입니다. – Fildor

답변

0

저녁 시간대에 기본 생성자를 만들어보세요. 문제가 해결 될지 확인하십시오. 문제가 해결되지 않으면 사용중인 도구 또는 컴파일러에 문제가있을 수 있습니다.

0

생성자를 "TVCHannel"에서 "TVChannel"로 변경하십시오. 오타를 추적하는 데 도움이되는 회선 코드 식별자를 사용할 수도 있습니다.

관련 문제