调用super必须是构造函数中的第一个语句,但它是
我不断收到一条错误,说“调用super必须是构造函数中的第一个语句”。
问题是它是我构造函数中的第一个语句。
public void CheckingAccountCustomer(int a){ super(n, p, b); accountNo = a; }
这也是我的超类。
public void customer(String n, int p, double b){ name = n; pin = p; balance = b; }
我在这做错了什么?
这段代码
public void customer(String n, int p, double b){
不是构造函数。 构造函数没有返回类型,例如void
。 假设您的class级名称是customer
:
public customer(String n, int p, double b){
这也适用于CheckingAccountCustomer
。
public void CheckingAccountCustomer(int a){
这不是构造函数,因为它声明它具有void
返回类型。 它只是一个与类同名的方法。 摆脱返回类型。
public CheckingAccountCustomer(int a){
public void CheckingAccountCustomer(int a)
这是一种方法而不是构造函数,因为它具有返回类型。
构造函数用于创建该类的实例 ,因此它是否允许用户更改返回类型是没有意义的(它也可能是危险的)。 这就是构造函数没有返回类型的原因。
正如其他人已经回答的那样,删除返回类型,它将成为构造函数。
构造函数永远不会返回某些内容(void或Object类型)。
public void CheckingAccountCustomer(int a){ super(n, p, b); accountNo = a; }
因此不是构造函数。