संभव डुप्लिकेट आरंभ बनाम घोषणा पर आरंभ किया जा रहा:
Should I initialize variable within constructor or outside constructorकंस्ट्रक्टर्स में
मैं सोच रहा था, जो एक बेहतर अभ्यास और क्यों है। क्या मुझे घोषणा पर कक्षा के क्षेत्रों को शुरू करना चाहिए, या मुझे इसे निर्माता में करना चाहिए? यह देखते हुए कि यह एक साधारण एक-पंक्ति प्रारंभिक है।
class Dude
{
String name = "El duderino";
Dude() {
// irrelevant code
}
}
बनाम
class Dude
{
String name;
Dude() {
name = "El duderino";
// irrelevant code
}
}
संपादित करें: मैं स्थितियों में, जहां शैलियों में से एक प्रारंभकर्ता कोड को क्रियान्वित करने के मामले कि एक अपवाद फेंक सकती है में की तरह एक दूसरे के ऊपर प्राथमिकता दी जाएगी के बारे में पता कर रहा हूँ । मैं यहां जो बात कर रहा हूं वह ऐसे मामले हैं जब दोनों शैलियों बिल्कुल समकक्ष हैं। दोनों तरीके एक ही काम पूरा करेंगे। तब मुझे किस का उपयोग करना चाहिए?
यह उचित लगता है। लेकिन मैं जो बात कर रहा था वह वे क्षेत्र हैं जिन्हें एक ही तरीके से शुरू किया जा रहा था, यानी रचनाकारों से प्राप्त डेटा का उपयोग नहीं किया जाएगा। उप-तत्वों को संग्रहीत करने के लिए एक खाली आंतरिक सूची प्रारंभ करना। क्या आप अभी भी इसे निर्माता में शुरू करेंगे? – amrhassan
@महरसन - उस स्थिति में, जब मैं घोषित किया जाता हूं, तो मैं इसे प्रारंभ नहीं करूँगा, और मैं इसे 'अंतिम' घोषित करूंगा। – erickson
मैं आपके उदाहरण में इसे 'अंतिम' बनाने का कारण देख सकता हूं, लेकिन अगर सेटटर 'सेटनाम (स्ट्रिंग नाम) 'था तो क्या होगा ... – knownasilya