जावा लैंड से आ रहा है मैं खुद को स्कैला सिखाने की कोशिश कर रहा हूं। हाल ही में मैं Int
डेटा प्रकार के साथ काम कर रहा था और मैंने इंटेल क्लास के लिए एपीआई देखने का फैसला किया here।"अंतिम अमूर्त वर्ग इंट प्राइवेट को समझने की कोशिश कर रहा है स्केल
क्या हैरान मुझे Int
के लिए वर्ग परिभाषा है, जो abstract final
है था।
मैं क्षमाप्रार्थी हूँ अगर मैं इस सवाल पूछने से पहले abstract
और स्काला में final
के अर्थ पर पढ़ा नहीं था, लेकिन मैं था उत्सुक, इसलिए मैंने तुरंत इस पोस्ट को टाइप किया।
तो मैं जो समझने की कोशिश कर रहा हूं वह है: abstract
, final
और extends
स्कैला में अलग-अलग अर्थशास्त्र हैं? फिर, यह मेरी समझ में सबसे अच्छा है कि जावा में, एक ही समय में abstract
और final
नहीं हो सकता है। तो मैं final abstract class Int private extends AnyVal
की व्याख्या कैसे करूं?
द्वारा दिया जाता है नहीं, वे नहीं कर रहे हैं, कम से कम मूल रूप से (आप अभी भी सार का दृष्टांत नहीं कर सकते, तो आप के वारिस नहीं कर सकता/अंतिम ओवरराइड)। AFAIK, इस तरह से किया गया कारण यह है कि कुछ समय पहले इंट और अन्य AnyVal प्रकार केवल एक स्टब्स थे, फिर संकलन समय पर संकलक द्वारा फिर से लिखा गया। वे [इस प्रतिबद्धता] के बाद से नहीं हैं (https://github.com/scala/scala/commit/4253124eecba6bed38f1dc961c5c4ee39a29f730) –
ओह, यह उपयोगी जानकारी है। मुझे इंगित करने के लिए धन्यवाद कि – ilango