「スーパークラスの呼び出しはコンストラクターの最初のステートメントでなければならない」というエラーが表示され続けます。
問題は、それがisコンストラクターの最初のステートメントであるということです。
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
。クラス名が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)
戻り値の型があるため、これはコンストラクタではなくメソッドです。
constructorはそのクラスのインスタンスを作成するために使用されるため、ユーザーが戻り値の型を変更できるかどうかは意味がありません(危険な場合もあります)。そのため、コンストラクターにはno戻り値の型があります。
他の人がすでに答えているように、戻り値の型を削除すると、コンストラクターになります。
コンストラクターが何か(voidまたはオブジェクトタイプ)を返すことはありません。
public void CheckingAccountCustomer(int a){
super(n, p, b);
accountNo = a;
}
したがって、コンストラクタではありません。