2011-01-17 14 views
7

पास करने के संदर्भ में मेरे पास दो वर्ग हैं। Class A और Class Bकक्षा के दूसरे वर्ग में

मेरे पास Class A में एक फ़ंक्शन है जो मैं class B में उपयोग करना चाहता हूं। मैं के Class B के निर्माता को संदर्भित करने के बारे में सोच रहा था और फिर उसके बाद फ़ंक्शन को कॉल करता था।

क्या यह काम करेगा? क्या कोई मुझे एक उदाहरण दिखा सकता है?

अग्रिम धन्यवाद!

+0

ठीक है आप जावा में संदर्भ से गुजर नहीं सकते हैं। यहां एक अच्छा पढ़ा गया http://www.yoda.arachsys.com/java/passing.html। – CoolBeans

+4

@CoolBeans। आप संदर्भ से गुजर नहीं सकते हैं, लेकिन आप एक संदर्भ पास कर सकते हैं। और वास्तव में जब आप सोचते हैं कि आप किसी वस्तु को पार कर रहे हैं तो स्वाभाविक रूप से क्या होता है। –

उत्तर

18

हां, यह काम करेगा। और यह करने का एक अच्छा तरीका है। तुम बस वर्ग एक के उदाहरण पारित:

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(); 
+0

@ prolin007 या यह भी;) वह पूरी तरह से बेहतर है। – AedonEtLIRA

+0

धन्यवाद बोझो, यह वही है जो मैं ढूंढ रहा था। – prolink007

+0

धन्यवाद Bozho यह वही है जो मैं ढूंढ रहा हूं ...^_ ^ – Cjames

3

इस

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

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

की तरह कुछ करो इस कीवर्ड अनिवार्य वस्तु को संदर्भित करता है (कक्षा) में है।

संबंधित मुद्दे