2016-04-03 42 views
1

我得到一个错误,说我的构造函数Book(String,int)在我的Dictionary类中是未定义的。我检查了一切,并尝试重做我的程序仍然有一个错误。解决这个问题的任何解决方案?构造函数是Underfined

图书类:

public class Book{ 
    private String author; 
    private int numPages; 

    public Book(int code, String title, double price, int quantity, String author, int numPages){ 
     this.author = author; 
     this.numPages = numPages; 
    } 

    //Getters 
    public String getAuthor(){ 
     return this.author; 
    } 
    public int getNumPages(){ 
     return this.numPages; 
    } 

    //Setters 
    public void setAuthor(String author){ 
     this.author = author; 
    } 
    public void setNumPages(int numPages){ 
     this.numPages = numPages; 
    } 

    //toString 
    @Override 
    public String toString(){ 
     String outputBookDes = ""; 
     outputBookDes += "Author: "+ this.author; 
     outputBookDes += "Number Pages: "+ this.numPages; 
     return outputBookDes; 
    } 
} 

字典类:

public class Dictionary extends Book{ 
private String language; 
private int numDefinitions; 

public Dictionary(String author, int numPages, String language, int numDefinitions){ 
    super(author,numPages); 
    this.language = language; 
    this.numDefinitions = numDefinitions; 
} 

// Getters 
public String getLanguage(){ 
    return this.language; 
} 
public int getNumDefinitions(){ 
    return this.numDefinitions; 
} 

//Setters 
public void setLanguage(String language){ 
    this.language = language; 
} 
public void setNumDefinitions(int numDefinitons){ 
    this.numDefinitions = numDefinitions; 
} 

//Ratio method 
public double getRatio(){ 
    double ratioTotal = this.numDefinitions/getNumPages(); 
    return ratioTotal; 
} 

}

+7

好,图书(字符串,整数)是不确定的。你只有一个Book(int code,String title,double price,int quantity,String author,int numPages)构造函数。 – Eran

+4

您的文章中的“Dictionary”类与Book类具有相同的代码 – kkaosninja

+0

Eran是对的,并且btw您的Dictionary代码实际上是Book代码。 – zyexal

回答

2

当你调用

super(author,numPages); 
儿童类字典


您需要在Book类中定义另一个构造函数,如

public Book(String author,int numPages) { 
    this.author = author; 
    this.numPages = numPages; 
} 

解决此错误。根据你的唯一的构造

+0

如果你觉得这有帮助,请接受这个答案,并upvote,以便它可以在未来受益于其他人。 –

0

public Book(int code, String title, double price, int quantity, String author, int numPages) 

在main方法试试:代替

Book book = new Book(12, "title", 34d, 56, "author", 78); 

Book book = new Book("34", 56);