0

ここにコードの一部があります。あるクラスを使用して別のクラスを参照しようとしているので、人の名前を取得できます。メインクラスの firstName を機能させたいのですが、IDE は変数が見つからないと述べています。「first」を「firstName」に置き換えることはできますか?

メインクラス:

public BasePlusCommissionEmployee( String first, String last, 
            String ssn, double sales, double rate, double salary) {


        cE = new CommissionEmployee( first, last, ssn, sales, rate );
        setBaseSalary( salary );
    }

public void setFirstName(String firstName) {
        // Trying to get this to work...
        cE.setFirstName(first);
    }

サブクラス:

private String firstName;
public void setFirstName( String first )
    {
        firstName = first;
    }    
4

2 に答える 2

1

「first」を「firstName」に置き換えることはできますか?

はい。

public void setFirstName(String firstName) {
    // Trying to get this to work...
    cE.setFirstName(first);
}

firstNameはこのメソッドのローカル変数であり、 name を持つ変数firstはその中で定義されていません。

そのため、 を使用するfirstと、コンパイル エラーになります。

于 2012-12-11T05:09:21.930 に答える
0

基本的には、宣言された変数名の名前に従って、setter メソッドと getter メソッドを使用します。したがって、あなたの場合、メインクラスが「名」を「最初」として参照する場合は、 setFirst(String first) メソッドを宣言することをお勧めします。'firstName' として宣言する場合は、setFirstName (String firstName) として宣言します。また、ここで示したコードに基づいて、メイン クラスは CommissionEmployee のインスタンスを「cE」として保持するように見え、メイン クラスでセッター メソッドが必要ないくつかのパラメーターを使用して作成されます。宣言を避けることができますサブクラスの方。

于 2012-12-11T05:34:41.343 に答える