簡體   English   中英

Java-超類/子類

[英]Java - Superclass/Subclass

這里有個小問題:

public class Item extends ItemManufacturer
{
// Attributes
private String itemcode;
private String itemname;
private String description;
private String style;
private String finish;
private float  unitprice;
private float  stock;

public void item(String suppliercodeIn, String suppliernameIn, String addressIn, String itemcodeIn, String itemnameIn, String descriptionIn, 
            String styleIn, String finishIn, float unitpriceIn, float stockIn)
  {
       super ( suppliercodeIn, suppliernameIn, addressIn );

       itemcode = itemcodeIn;
       itemname = itemnameIn;
       description = descriptionIn;
       style = styleIn;
       finish = finishIn;
       unitprice = unitpriceIn;
       stock = stockIn;
  }

我收到以下錯誤消息:

調用super必須是構造函數中的第一條語句。

有人願意幫助我嗎?

在上課之后,我得到了另一個錯誤。

// Create a Item oject
Item item = new Item();

我正在使用一個名為items的數據庫和一個item的表名。

這就是問題:

public void item(...)

那不是Item類的構造函數-這是一個稱為item的void方法。 它應該是:

public Item(...)

請注意,Java區分大小寫,並且構造函數沒有聲明的返回類型。 只是可訪問性,后跟類名,然后是參數列表。

我懷疑有錯字。 您的構造函數應稱為Item而不是item (構造函數不返回任何內容,甚至不返回void 。)

至於new表達式:創建Item的新實例時,您需要傳遞所有這些參數。

Item item = new Item("234SD23", "SuperSupplier", "21 SO Drive", ...);

讀這個,

  1. 如果沒有錯字,而item是一種方法,那么super()將無法工作。 您需要做super.item();

  2. 如果有拼寫錯誤,而其Item不是item,那么將沒有返回類型,

    例如:

     public Item (String suppliercodeIn, String suppliernameIn, String addressIn, String itemcodeIn, String itemnameIn, String descriptionIn, String styleIn, String finishIn, float unitpriceIn, float stockIn){ } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM