0

2つのクラスがあります(クラスHomeとクラスAway)。Class Awayにはupdateというメソッドがあり、updateメソッドにはいくつかの引数(speech、writing、reading)があり、その値はクラスHomeで割り当てられます。そして、これらの値は動的に変化します。Homeクラスからこのupdateメソッドを呼び出すのに問題があります。例を教えてください。これが私がやろうとしたことです:

public class Away
{ 
    private void method1(String speech)
    {
        //.......definition of the method......
    }

    private void method2(String writing)
    {
        //.....definition of the method......
    }

    private void method3(String reading)
    {
        //......definition of the method......
    }

    public void update(String speech, String writing, String reading)
    {
        Away away_object = new Away(String speech, String writing, String reading);
        away_object.method2(speech);
        away_object.method3(writing);
        away_object.method4(reading);
    }
}

次のようにHomeクラスからこのupdateメソッドを呼び出そうとしましたが、このupdateメソッドの引数を変更する方法がわかりません。これらの引数はHomeクラス内に動的な値があるため、コンストラクターを作成する必要がありますか、またはどのように更新できますかこの「update()」メソッド?

Away object2 = new Away(); 

object2.update(speech, writing, reading);

お返事をお待ちしておりますので、よろしくお願いいたします...よろしくお願いします...

4

1 に答える 1

1

Away クラス内のパブリック Update 関数では、Away クラス自体の別のコピーをインスタンス化しているように見えます。

関数を次のように変更します。

これから:

public void update(String speech, String writing, String reading)
{
    Away away_object = new Away(String speech, String writing, String reading);
    away_object.method2(speech);
    away_object.method3(writing);
    away_object.method4(reading);
}

これに:

public void update(String speech, String writing, String reading)
{
    method2(speech);
    method3(writing);
    method4(reading);
}
于 2013-02-07T20:10:55.793 に答える