2010-06-28 14 views
6

मेरे पास एक वर्ग है जो स्मो का प्रकार बनाता है। ऑब्जेक्ट फिर किसी अन्य वर्ग से एक स्थिर विधि को कॉल करता है। स्थैतिक विधि की आवश्यकता है कि मैं ऑब्जेक्ट को उस पर भेजूं जो इसे कॉल कर रहा है। मैं कॉलिंग ऑब्जेक्ट को पास करने के पैरामीटर के रूप में कैसे निर्दिष्ट करूं?कक्षा इसे स्वयं पास कर रही है

उदाहरण के लिए:

class Smo {  
    Smo() { 
    } 

    void sponge() { 
     car.dancing(??????); //////< ----------- how do I refer to self? 
    } 

    void dance() { 
     //// do a little dance 
    } 
} 

class Car() { 
    Car() { 
    } 

    dancing(Smo smo) {  
     smo.dance(); 
    }  
} 

उत्तर

21

this कीवर्ड का प्रयोग करें। वस्तु जिसका विधि या निर्माता बुलाया जा रहा है -

car.dancing(this); 
+1

डुह। :: Kicks स्वयं :: मैं आपको 12 मिनट में अपनी जांच दूंगा। धन्यवाद :) – Prospero

7

उपयोग कीवर्ड this

एक उदाहरण विधि या एक निर्माता के भीतर, यह वर्तमान वस्तु के लिए एक संदर्भ है। आप वर्तमान ऑब्जेक्ट के किसी भी सदस्य को के भीतर एक उदाहरण विधि या इसका उपयोग करके एक कन्स्ट्रक्टर के संदर्भ में देख सकते हैं।

4

ऑब्जेक्ट को स्वयं संदर्भित करने के लिए this का उपयोग करें। तो,

car.dancing(this); 
संबंधित मुद्दे