这里有轻微的问题:
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的表名。
答案 0 :(得分:4)
这是问题所在:
public void item(...)
这不是Item
类的构造函数 - 它是一个名为item
的void方法。它应该是:
public Item(...)
请注意,Java区分大小写,并且构造函数没有声明的返回类型;它是只是可访问性,后跟类的名称,后跟参数列表。
答案 1 :(得分:2)
我怀疑是一个错字。您的构造函数应该调用Item
而不是item
。 (并且构造函数不返回任何内容,甚至不返回void
。)
至于new
表达式:您需要在创建Item
的新实例时传递所有这些参数。
Item item = new Item("234SD23", "SuperSupplier", "21 SO Drive", ...);
答案 2 :(得分:0)
阅读本文,
如果没有拼写错误,而item是一个方法,那么super()就不会工作。你需要做super.item();
如果有拼写错误,且其商品不是商品,那么将没有退货类型,
例如:
public Item (String suppliercodeIn, String suppliernameIn, String addressIn,
String itemcodeIn, String itemnameIn, String descriptionIn,
String styleIn, String finishIn, float unitpriceIn, float stockIn){
}