मैं एक तर्क के साथ एक स्थैतिक वर्ग शुरू करने की कोशिश कर रहा हूं, और उसके बाद उस वर्ग में कुछ और स्थिर कोड चलाता हूं।
मुझे static
ब्लॉक से अवगत है, लेकिन ऐसा लगता है कि यह कोई तर्क नहीं ले सकता है।
क्या एक स्थिर निर्माता को तर्क पारित करने का कोई तरीका है?
यदि नहीं, तो तर्क का उपयोग कर स्टेटिक क्लास को आरंभ करने के लिए अनुशंसित तकनीक क्या है?जावा में एक स्थिर निर्माता के लिए तर्क पारित करें?
संपादित करें: मेरी समझ के लिए एक स्थिर वर्ग (, सी # में वे स्थिर कक्षाओं कहा जाता है कर रहे हैं जावा उनके लिए एक अलग अवधि है, इसके बारे में पता नहीं होने के लिए खेद) एक वर्ग जो instantiated नहीं किया जा सकता है - इसे ऑब्जेक्ट नाम के बजाए इसके वर्ग के नाम से एक्सेस किया जाता है।
जो मैं प्राप्त करने की कोशिश कर रहा हूं (बहुत सरलीकृत) एक वर्ग है जो स्ट्रिंग के रूप में एक शब्दकोश प्राप्त करता है, इसे पार करता है, और इसमें GetRandomEntry
जैसे तरीकों का उपयोग किया जाता है।
public class QuestionsRepository {
private static Map<String,String[]> easyDefinitions = new HashMap<String,String[]>();
//...
static
{
// need to receive and parse dictionary here
}
//...
एक कोड स्निपेट के प्रासंगिक भागों ले रहा है कभी नहीं आसान, आशा है कि मैं बुद्धिमानी से चुना है (:
यहाँ मेरी कोड की एक सविस्तार स्निपेट
एक और विस्तार है कि प्रासंगिक हो सकता है - मैं कर रहा हूँ एसी # प्रोग्रामर, आमतौर पर। बस जावा हाल ही में सीखने शुरू कर दिया।
धन्यवाद।
इस में बढ़ रहा है की तरह एक स्ट्रिंग पैरामीटर के साथ एक सिंगलटन प्रारंभ करने में एक enum इस्तेमाल कर सकते हैं: आप किसी अन्य वर्ग के स्थिर विधि को फोन करके निम्नलिखित तरीके से यह कर सकते हैं गलत दिशा। किसी भी विशेष कारण से आप एक गैर-स्थैतिक वर्ग में सामान्य कन्स्ट्रक्टर का उपयोग नहीं कर सकते हैं? –
आपकी समझ में 'स्थिर वर्ग' क्या है? –
एक कोड नमूना लोग आपके प्रश्न और संदर्भ को बेहतर ढंग से समझेंगे। –