私には2つのクラスがあります。 Class A
およびClass B
。
Class A
で使用したい関数がclass B
にあります。 Class A
の参照をClass B
のコンストラクターに渡し、その後関数を呼び出すことを考えていました。
それはうまくいくでしょうか?誰かが私に例を見せてもらえますか?
前もって感謝します!
はい、動作します。そして、それはそれを行うためのまともな方法です。クラスAのインスタンスを渡すだけです:
public class Foo {
public void doFoo() {..} // that's the method you want to use
}
public class Bar {
private Foo foo;
public Bar(Foo foo) {
this.foo = foo;
}
public void doSomething() {
foo.doFoo(); // here you are using it.
}
}
そして、あなたは持つことができます:
Foo foo = new Foo();
Bar bar = new Bar(foo);
bar.doSomething();
このようなことをする
class ClassA {
public ClassA() { // Constructor
ClassB b = new ClassB(this);
}
class ClassB {
public ClassB(ClassA a) {...}
}
Thisキーワードは、基本的に、それが含まれるオブジェクト(クラス)を参照します。