2011-01-17 2 views
7

私は2つのクラスを持っています。 Class AおよびClass Bクラスの参照を別のクラスに渡します

私はclass Bで使用したいClass Aの機能を持っています。私はClass Aの参照をClass Bのコンストラクタに渡して、それからその関数を呼び出すことを考えていました。

これは機能しますか?誰か私に例を示すことができますか?

ありがとうございます!

+0

Javaでは参照渡しできません。ここで良い読んでhttp://www.yoda.arachsys.com/java/passing.html。 @CoolBeans。 – CoolBeans

+4

参照で渡すことはできませんが、参照を渡すことはできます。そして、それは実際にあなたがオブジェクトを渡していると思うとき自然に起こることです。 –

答えて

18

はい、動作します。そしてそれはそれを行うためのまともな方法です。あなただけのクラス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. 
    } 
} 

そして、あなたが持つことができます。このキーワードは、本質的にオブジェクトを参照

class ClassA { 
    public ClassA() { // Constructor 
    ClassB b = new ClassB(this); 
} 

class ClassB { 
    public ClassB(ClassA a) {...} 
} 

このよう

Foo foo = new Foo(); 
Bar bar = new Bar(foo); 
bar.doSomething(); 
+0

@ prolin007またはこれも;)彼はprolly良いです。 – AedonEtLIRA

+0

ありがとうbozho、それはまさに私が探していたものです。 – prolink007

+0

Bozhoさん、ありがとう、これは私が探しているものです...^_ ^ – Cjames

3

は何かをします(クラス)を参照してください。

関連する問題