0

別のクラスの変数を呼び出すのに問題があります。class1とclass2があり、class2には次のようなメソッドがあるとします。

public Class2{

public void method2 (Element ele, Grammar utterance, String user) {

String speech =................ 

         }
   }

そして、私の目的は、この「音声」変数を取得して、それをclass1に渡すことです。これを行う方法についてのアイデアはありますか?

4

4 に答える 4

0

void method2(...)をpublic String method2(...)に変更して、音声を返すことができます。次に、最初のクラスにclass2のインスタンスがあり、class2.method2(...)を呼び出すと、クラス1に音声変数が与えられます。

于 2013-02-11T18:42:57.103 に答える
0

他のClass1にClass2のインスタンスが必要なだけなので、例は次のようになります。

Class1 mySpeech = new Class1();

これで、にアクセスできるオブジェクトmySpeechは、音声として含まれている文字列変数にアクセスできます。これはパブリック変数です。

mySpeech.speech

ただし、eclipseショートカットを使用して作成できるgetter/setterメソッドを作成することをお勧めします。

Sources->Generate Getters and Setters

また、クラスに名前を付けるときは、最初の文字に大文字を使用し、キャメルケースの規則を呼び出します。したがって、クラスに名前を付けるときは、Class1またはを呼び出しますClassOne

于 2013-02-11T18:45:34.933 に答える
0

文字列を与えるオブジェクトには、ある種のパブリックな可視性が必要になります。次に、最初のオブジェクトから2番目のオブジェクトに文字列を渡すか、参照によってオブジェクトを2番目のオブジェクトに渡します(あまり推奨されません)。

public FirstClass {
    private String speech = "I am the first object!";

    public String getSpeech() {
        return speech;
    }
}

public SecondClass {
    private string speechCopy;

    public void takeSpeech(string speechCopy) {
        this.speechCopy = speechCopy + " (not really, I'm a copy!)";
    }
}

ここから、必要な動作を呼び出すためにメソッドを呼び出す必要があります。コードはそのままにしておくことができますが、get / setメソッドを各オブジェクトに追加して、変数と参照を渡すことができるようにします。

于 2013-02-11T18:45:58.553 に答える
0

-メソッドの前に宣言:public static String Speech-inメソッドまたはoutを初期化します:speech = "hi"-他のクラスからの呼び出し(静的スコープ):Class1.speech

于 2013-02-11T18:50:14.817 に答える