이 두 클래스가 있습니다.상속 작업을 수행 할 수 없습니다.
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가 메소드의 생성자를 잘못 이해하는 이유는 무엇입니까?
이것을 재생할 수 없습니다 (http://ideone.com/EI7tcK). [mcve]를 제공하십시오. (생성자를 추가하는 당신의 접근법은 정확합니다 - 생성자는 상속되지 않습니다. 그리고 수퍼 클래스는 다섯개의 매개 변수를 가진 생성자만을가집니다. 따라서 하위 클래스 **는 반드시이 생성자를'super (...)'). –
main() 메소드를 제공 할 수 있습니까? – Kaushal28
어떤 IDE를 사용하고 있습니까? 오타가 있는지 확인하고 청소하고 다시 작성하십시오. 또한 parantheses를 확인하십시오. CTOR을 어디에서 선언하셨습니까? 위의 스 니펫에서는 클래스 범위 외부에있는 것으로 보입니다. – Fildor