मैंने अभी जावा सीखना शुरू किया।
मेरे दोस्त जो मुझे पढ़ाई में मदद कर रहे हैं, उन्होंने मुझे यह भेजा और कहा कि यह पता लगाओ।
दुर्भाग्य से मैं इसे पढ़ने में असमर्थ हूं। यह मुझे पर्ल जैसा लगता है।
class _{_ _;_(){_=this;}}
इसका क्या मतलब है?
मैंने अभी जावा सीखना शुरू किया।
मेरे दोस्त जो मुझे पढ़ाई में मदद कर रहे हैं, उन्होंने मुझे यह भेजा और कहा कि यह पता लगाओ।
दुर्भाग्य से मैं इसे पढ़ने में असमर्थ हूं। यह मुझे पर्ल जैसा लगता है।
class _{_ _;_(){_=this;}}
इसका क्या मतलब है?
जवाबों:
_वर्ग का नाम है। यह बहुत भ्रामक है, लेकिन यह काम करता है!
वर्ग के नाम के साथ:
class Something {Something something;Something(){something=this;}}
और साफ किया:
class Something {
Something something;
Something() {
something=this;
}
}
और आप इस अजीब नामकरण के साथ पागल हो सकते हैं :)
class _{_ __;_ ____;_(){__=this;____=__;}_(_ ___){__=___;}}
वास्तव में, यूनिकोड भी समर्थित है, इसलिए यह मान्य है:
class 合法類別名稱{合法類別名稱(){}}
get crazyउदाहरण में कुछ गलतियाँ हैं । (1) आप ____=__(दो बार) के बाद अर्धविराम जोड़ना भूल गए , यदि आप अधिभार _विधि की कोशिश कर रहे हैं तो आपको भी टाइप पास _(___)करना होगा _(_ ___)। यहाँ है कि यह कैसे दिख सकता है class _{_ __;_ ____;_(){__=this;____=__;}_(_ ___){__ = ___;}}। एक मिनट रुकिए। क्या मैंने सिर्फ अंडरस्कोर डिबग किया था? यह ब्रेक का समय है।
_ वर्ग का नाम है, अंडरस्कोर एक मान्य जावा वैरिएबल नाम है, आपको बस अपना कोड इंडेंट करने की आवश्यकता है:
class _{
_ _;
_(){
_=this;
}
}
पसंद:
class A{
A A;
A(){
A=this;
}
}
संपादित करें: @Daniel फिशर के लिए धन्यवाद
प्रकार नाम और चर नाम अलग नामस्थान हैं। और उदाहरण के लिए कोड
class FOO { FOO FOO; }जावा में मान्य है।
सारांश
_ एक वर्ग का नाम है जैसे पर class _{ _एक वर्ग के सदस्य का नाम है जैसे पर _ _;और_=this _ एक निर्माता का नाम है जैसे _()याद रखें: जावा छह अलग-अलग नामस्थानों का उपयोग करता है :
- पैकेज के नाम,
- नाम टाइप करें,
- फ़ील्ड (चर) नाम,
- विधि के नाम,
- स्थानीय चर नाम (मापदंडों सहित), और
- लेबल।
इसके अलावा, प्रत्येक घोषित एनम का अपना नाम स्थान है। विभिन्न प्रकार के पहचान के नाम संघर्ष नहीं करते हैं; उदाहरण के लिए, एक विधि को स्थानीय चर के समान नाम दिया जा सकता है ।
class FOO { FOO FOO; }काम करता है।
data Foo = Foo | Bar Intकाम करता है। यह केवल काम कर सकता है, निश्चित रूप से, उन भाषाओं में जहां आप एक पहचानकर्ता की श्रेणी का पता लगा सकते हैं जहां से यह प्रकट होता है।
अच्छा यह अच्छा उदाहरण है। जावा यूनिकोड को पहचानकर्ता बनाने की अनुमति देता है ताकि आप कुछ लिख सकें:
class ⲥlass {
ⲥlass claѕѕ;
}
यहाँ कक्षा का नाम 'ⲥ' (U + 2CA5 COPTIC SMALL LETTER SIMA) और है
ऑब्जेक्ट नाम का 'name' (U + 0455 CYRILLIC SMALL LETTER DZE)।
class, यह एक खोजशब्द है।
'class'। जैसा कि मैंने उल्लेख किया है कि ऑब्जेक्ट नाम 'claѕѕ'है 'ss'जो गैर ASCII वर्ण हैं। इसलिए वास्तव में ऑब्जेक्ट का नाम claѕѕहै cla\u0455\u0455'मुझे लगता है कि यह गलतफहमी को दूर करता है। :)