16

「スーパーへの呼び出しはコンストラクターの最初のステートメントでなければなりません」というエラーが表示され続けます。

問題は、それコンストラクターの最初のステートメントであることです。

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;
}

ここで何が間違っていますか?

4

5 に答える 5

36

このコード

public void customer(String n, int p, double b){

コンストラクタではありません。コンストラクターには戻り値の型がありませんvoidcustomerクラス名が次のとおりであると仮定します。

public customer(String n, int p, double b){

これも当てはまりCheckingAccountCustomerます。

于 2013-05-06T21:20:02.377 に答える
8
public void CheckingAccountCustomer(int a){

void戻り値の型があると述べているため、これはコンストラクターではありません。クラスと同じ名前のメソッドです。戻り値の型を取り除きます。

public CheckingAccountCustomer(int a){
于 2013-05-06T21:19:48.767 に答える
3
public void CheckingAccountCustomer(int a)

戻り値の型があるため、これはコンストラクターではなくメソッドです。

于 2013-05-06T21:21:31.887 に答える
2

コンストラクターはそのClass のインスタンスを作成するために使用されるため、ユーザーが戻り値の型を変更できるようにしても意味がありません (危険な場合もあります)。そのため、コンストラクターには戻り値の型がありません

他の人がすでに答えているように、戻り値の型を削除するとコンストラクタになります。

于 2013-05-06T21:25:32.037 に答える