2014-01-12 61 views
0

我從這本書類擴展出版的抽象類(從可發佈接口類擴展而來)遇到問題。然而,當我嘗試編譯它,彈出錯誤信息「無法引用publicationDate前超構造被稱爲」無法在超類型構造函數被調用之前引用publicationDate

這是我的書類代碼:

public abstract class Book extends Publication 
{ 
    /** 
    * Set the attributes inherited from the publication class 
    */ 
    public Book (String publicationDateIn, boolean subscriptionIn, String subscriptionLengthIn, int pageNumbIn, 
       String publisherNameIn, String publicationTitleIn, float priceIn, String publicationTypeIn, String issnNumbIn 
       , int authorNumbIn) 
    { 
     super (publicationDate, subscription, pageNumb, publisherName, publicationTitle, price, publicationType, subscriptionLength, authorNumb, issnNumb); 
    } 
} 

回答

2

我假設你Publication類有一個publicationDate字段(以及您在那裏的所有其他字段)。在調用super構造函數之前,您不能在子類型構造函數中引用該字段。

您的意思是有

super (publicationDateIn, subscriptionIn, pageNumbIn, publisherNameIn, publicationTitleIn, priceIn, publicationTypeIn, subscriptionLengthIn, authorNumbIn, issnNumbIn); 

?換句話說,你沒有使用你的構造函數參數,你正在使用父類的字段。

+0

我試圖將這些添加到最後,但它提出了另一個錯誤消息: 「類的發佈中的構造函數發佈不能用於給出類型」 –

+0

@ user3188359你認爲這意味着什麼?你正在調用一個構造函數。您必須傳遞與該構造函數的參數列表匹配的參數。 –

相關問題