私は1つの問題に会った、私は彼らがどのように見える2クラスclass A
とclass B
ている:私たちはメソッドA2を呼び出すとき、どのように私はString s
の値をJava-クラスAがクラスBを呼び出すとき、クラスBでクラスAのメソッドと属性を使用するにはどうすればよいですか?
class A{
private String s;
public a1(){
// do something with s
B b = new B();
b.b1();
// do others things
}
public a2(){
// this needs s which has been initialised in method a1
}
}
class B{
public b1(){
// do something
// here, how can I call method a2 and use String s in a2?
A a = new A();
a.a2();
// ...
}
}
を保つことができますか? そして、私はa2にb.b1(s)
、そしてb1にはa.a2(s)
を使用するのが嫌いです。
ありがとうございます。
? "s"がクラスAのデータメンバーである場合、なぜa2()はsにアクセスできないと思いますか?あなたのクラス定義は非常に奇妙です - 循環依存のように見えます。 AはBとBを使用しています。あなたが達成しようとしていることを再考する必要があるかもしれません。クラスに意味のある名前を付ける。 – OldProgrammer
@OldProgrammerありがとう、私はクラスBで新しいインスタンス( 'A a = new A(); a.a2();')を作ったと思ったので、この新しいインスタンスでは、 s。私は間違いをしますか? –
@ShireResidentありがとう、私はあなたのポイントを持って、問題はどのようにメソッドのa2を呼び出すときにクラスBで同じ 's'を使用することができますか? –