-1

2 つの JAVA ファイルと 2 つのパブリック クラスを取得しました。File1.java でユーザー名を取得し、File2.java でそれを操作する必要があるため、基本的には File1.java のユーザーからユーザー名を取得し、それを File2 に渡す必要があります。 .java 処理用。

これで、File1.java を使用してユーザーからユーザー名を取得する部分は完了しましたが、処理のために File2.java に渡す方法がわかりません。これは、File1.java のユーザーからユーザー名を取得し、それを変数 user に格納する方法です。次に、このユーザー データを File2.java に移動する必要があります。

    String user = jTextField1.getText();

File1.javaからFile2.javaにユーザー名データを渡すのを手伝ってください

4

4 に答える 4

1

必要なのは、それを に渡すことFile2.javaです。したがって、次のようなものがあると仮定します。

public class File2
{
    ...
    //Constructor
    public File2(...)
    ...
}

次のように変更する必要があります。

public class File2
{
    ....
    String userName = "";
    public File2(...String userName...)
    {
        this.userName = userName;
        ...
    }
    ....
}

File1そして、(クラスから)次のように呼び出します:

String user = jTextField1.getText();
...
File2 file2 = new File2(..., user, ...);

userNameまたは、フィールドを渡す代わりに、 のインスタンスFile1をクラスに渡し、クラスで適切なメソッドを作成して、File2アクセスしたいフィールドを公開することもできます。これは通常、複数のフィールドにアクセスする必要がある場合に便利です。Field2getFile1

于 2013-03-27T14:21:26.203 に答える
0

parameterクラス内に存在するメソッドに として渡すか、クラス内File2の getter メソッドを使用して、クラス内にクラスの新しいインスタンスを作成し、そのインスタンスを使用してを呼び出すことができます。userFile1File1File2getter

ファイル 1 で

new File2().doSomethingMethod(user);

ファイル 2 で

public void doSomethingMethod(String user){
    //user has the value you wanted to pass.
}
于 2013-03-27T14:20:10.967 に答える
0

クラス間で値を共有するために、変数をインスタンス変数として作成し、セッターとゲッターを使用してそれらにアクセスできます。

あなたの場合、userクラスのプライベートインスタンス変数として作成しFile1File2クラスで次のようなことができます:

public void someMethod(File1 f1Object){

  String s = f1Object.getUser();

}
于 2013-03-27T14:21:40.160 に答える
0

File1.java と File2.java はfilenamesであり、話している内容にはあまり関係ありません。さらに重要なことは、Java クラスが 2 つあるということです。ファイル名の代わりにクラス名について話してください。

うまくいけば、2 つ (またはそれ以上) の Javaオブジェクトもあると思いますか? つまり、それらのクラスのインスタンスです。

2 番目のクラスのオブジェクトが何らかの処理を行う必要がある場合、次のように、この 2 番目のクラスでメソッドを定義する必要があります。

public void doSomeProcessing(String userName)
{
}

そして、次のように呼び出します。

object2.doSomeProcessing(jTextField1.getText());

ただし、ファイル、クラス、オブジェクト、およびメソッドに意味のある名前を付けてください。

于 2013-03-27T14:24:32.003 に答える