2016-04-03 44 views
1

Yapımcı Kitabım (String, int) sözlük sınıfımda undefined olduğunu belirten bir hata alıyorum. Ben her şeyi kontrol edip programlarımı yeniden yapmaya çalışıyorum hala bir hata var. Bu sorunu çözmek için herhangi bir çözüm?Oluşturucu Altyapısı

Kitap Sınıfı:

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; 
    } 
} 

Sözlük Sınıfı:

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

Eh, Kitap (String, int) tanımlanmamıştır. Sadece bir Kitap (int kod, String title, çift fiyat, int miktar, String yazar, int numPages) kurucu var. – Eran

+4

Gönderinizdeki "Sözlük" sınıfı, Kitap sınıfı – kkaosninja

+0

Eran ile aynı kod içeriyor ve Sözlük kodunuz aslında Kitap kodudur. – zyexal

cevap

2

Eğer çocuk sınıf Sözlükte

super(author,numPages); 

aradığınız gibi

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

bu hata çözüldü almak için, size Kitabı sınıfı gibi başka kurucusu tanımlamak gerekir. senin tek yapıcısı göre

+0

eğer bu yararlı bulursanız, bunu cevap olarak kabul edin ve gelecekteki diğer kişilere faydalanabilmesi için bunu tekrar edin. –

0

:

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

ana yöntem try:

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

yerine:

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