Java 为什么我在方法上有错误?
我不明白为什么在setInitialQuantity方法声明中会出现这些错误,有人介意看一下吗Java 为什么我在方法上有错误?,java,class,methods,Java,Class,Methods,我不明白为什么在setInitialQuantity方法声明中会出现这些错误,有人介意看一下吗 public class Invoice { private int quantity; private String partNum; private String partDesc; private double unitPrice; //constructor public Invoice ( int initialQuantity, Str
public class Invoice
{
private int quantity;
private String partNum;
private String partDesc;
private double unitPrice;
//constructor
public Invoice ( int initialQuantity, String partNumber, String partDescript, double unitPrice)
{
public void setInitialQuantity ( int initialQuantity )
{
quantity = initialQuantity;
}
}//end Invoice constructor
}
错误:
javac Invoice.java
Invoice.java:16: illegal start of expression
public void setInitialQuantity ( int initialQuantity )
^
Invoice.java:16: illegal start of expression
public void setInitialQuantity ( int initialQuantity )
^
Invoice.java:16: ';' expected
public void setInitialQuantity ( int initialQuantity )
^
Invoice.java:16: ';' expected
public void setInitialQuantity ( int initialQuantity )
^
4 errors
在Java中,不能在另一个方法(或Concstructor)内部有一个方法,请将其移到构造函数外部,但移到类内部
public class Invoice
{
private int quantity;
private String partNum;
private String partDesc;
private double unitPrice;
//constructor
public Invoice ( int initialQuantity, String partNumber, String partDescript, double unitPrice)
{
}//end Invoice constructor
public void setInitialQuantity ( int initialQuantity )
{
quantity = initialQuantity;
}
}
不能在另一个方法中定义方法
//constructor
public Invoice(int initialQuantity,String partNumber,String partDescript,double unitPrice)
{
this.quantity=initialQuantity;
this.partNum=partNumber;
this.partDesc=partDescript;
this.unitPrice=unitPrice;
}
public void setInitialQuantity(int initialQuantity)
{
quantity = initialQuantity;
}
将共构造函数更改为:
public Invoice ( int initialQuantity, String partNumber, String partDescript, double unitPrice)
{
quantity = initialQuantity;
}//end Invoice constructor
您不能在构造函数中有方法,可能您正在查找以下内容:
public class Invoice
{
private int quantity;
private String partNum;
private String partDesc;
private double unitPrice;
//constructor
public Invoice ( int initialQuantity, String partNumber, String partDescript, double unitPrice)
{
quantity = initialQuantity;
partNum = partNumber;
partDesc = partDescript;
unitPrice = unitPrice;
}//end Invoice constructor
public void setInitialQuantity ( int initialQuantity )
{
quantity = initialQuantity;
}
}
您应该在构造函数外部定义“setInitialQuantity”,然后从构造函数调用它。大概是这样的:
//constructor
public Invoice (int initialQuantity, String partNumber, String partDescript, double unitPrice)
{
setInitialQuantity(initialQuantity);
}//end Invoice constructor
public void setInitialQuantity (int initialQuantity)
{
quantity = initialQuantity;
}