0

这里有个小问题:

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 的表名。

4

3 回答 3

4

这就是问题:

public void item(...)

这不是Item类的构造函数——它是一个名为item. 它应该是:

public Item(...)

请注意,Java 区分大小写,并且构造函数没有声明的返回类型;它只是可访问性,后跟类的名称,然后是参数列表。

于 2012-05-16T16:25:47.133 回答
2

我怀疑一个错字。Item你的构造函数不应该被调用item。(并且构造函数不返回任何东西,甚至不返回void。)

至于new表达式:您需要在创建新实例时传入所有这些参数Item

Item item = new Item("234SD23", "SuperSupplier", "21 SO Drive", ...);
于 2012-05-16T16:25:22.223 回答
0

读这个,

  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){
    
    }
    
于 2012-05-16T16:34:16.290 回答