2009-11-24 14 views
16

जब मैं ग्रहण में कोडिंग कर रहा हूं, तो मुझे जितना संभव हो उतना आलसी होना पसंद है। इसलिए मैं अक्सर कुछ टाइप करता हूं:क्या मैं एक निर्माता से ग्रहण में स्वचालित रूप से फ़ील्ड उत्पन्न कर सकता हूं?

myObject = new MyClass (myParam1, myParam2, myParam3);

भले ही MyClass मौजूद नहीं है और न ही यह कन्स्ट्रक्टर है। बाद में कुछ क्लिक और ग्रहण ने माइस्क्लास को जो टाइप किया है उससे अनुमानित एक कन्स्ट्रक्टर के साथ बनाया है। मेरा सवाल यह है कि क्या कक्षा में खेतों को उत्पन्न करने के लिए ग्रहण प्राप्त करना संभव है जो कि मैंने कन्स्ट्रक्टर को जो पास किया है उससे मेल खाता है? मुझे एहसास है कि यह बहुत आलसी है, लेकिन ग्रहण की पूरी खुशी है!

उत्तर

28

आप एक वर्ग ए

class A{ 
    A(int a |){} 
} 

है | कर्सर है। Crtl + 1"नए क्षेत्र के लिए असाइन पैरामीटर"

परिणाम:

class A{ 
    private final int a; 
    A(int a){ 
     this.a = a; 
    } 
} 

यह तरीकों के लिए भी काम करता है:

private int b; 
    void method(int b){ 
     this.b = b; 

    } 
+0

चीयर्स, यह वही है जो मैं ढूंढ रहा था। – Benj

+1

मैन, मुझे ग्रहण पसंद है। धन्यवाद! +1 –

+2

एकाधिक फ़ील्ड के साथ इसका उपयोग कैसे करें? उदाहरण के लिए यदि मेरे पास 5 फ़ील्ड हैं और मैं केवल एक ही स्थान पर इस फ़ील्ड को उत्पन्न करना चाहता हूं – pleerock

4

मुझे पता है कि आप दूसरे तरीके से गोल कर सकते हैं। क्षेत्रों को परिभाषित करना और ग्रहण करते हैं एक निर्माता आप के लिए इन क्षेत्रों का उपयोग कर उत्पन्न: Source | Generate Constructor using Fields

+0

बहुत उपयोगी, मुझे यकीन है कि मैं इस भले ही यह नहीं था काफी क्या मैं आज के बाद था इस्तेमाल करेंगे हूँ। – Benj

0
:

void method(int b){} 

में परिणाम होगा

ग्रहण नियॉन के बाद से फ़ील्ड में सभी पैरामीटर असाइन करना संभव है।

त्वरित Ctrl + सहायता यह Assign all parameters to new fields का सुझाव का उपयोग करना। यदि कर्सर कन्स्ट्रक्टर के कोष्ठक के बीच कहीं भी है तो आप त्वरित सहायता के लिए कॉल कर सकते हैं।

यह विकल्प विधियों के लिए भी उपलब्ध है।

source

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

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