2015-05-10 9 views
6

कोई व्याख्या कर सकते हैं "सख्त डिफ़ॉल्ट-सार और डिफ़ॉल्ट-डिफ़ॉल्ट संघर्ष नियम" JLS §8.4.8.4 में उल्लेख किया है।जावा विरासत: सख्त डिफ़ॉल्ट-सार और डिफ़ॉल्ट-डिफ़ॉल्ट संघर्ष नियम

क्या वे जेएलएस में परिभाषित हैं? मुझे उनकी परिभाषा नहीं मिल रही है।

उत्तर

4

मैं गलत हो सकता था, लेकिन इस तरह मैंने उस खंड की व्याख्या की।

"डिफ़ॉल्ट-डिफ़ॉल्ट" और "डिफ़ॉल्ट-सार" कीवर्ड नहीं हैं। वे इंटरफ़ेस में डिफ़ॉल्ट विधियों से संबंधित दो अलग संकलन संघर्ष नियमों का वर्णन करते हैं।

दो या दो से अधिक इंटरफेस को लागू करने वाली कक्षा से संबंधित "डिफ़ॉल्ट-डिफ़ॉल्ट" जो इसके स्वयं के कार्यान्वयन प्रदान नहीं करते हुए समकक्ष तरीकों को ओवरराइड करने के डिफ़ॉल्ट कार्यान्वयन प्रदान करता है।

एक इंटरफ़ेस को लागू करने वाली कक्षा से संबंधित "डिफ़ॉल्ट-सार" जो एक डिफ़ॉल्ट कार्यान्वयन प्रदान करता है और एक या अधिक इंटरफेस समकक्ष विधियों को ओवरराइड करने के डिफ़ॉल्ट कार्यान्वयन प्रदान नहीं करता है।

इन दो नियमों का अपवाद यह है कि यदि कक्षा में एक सुपर क्लास एक अमूर्त विधि निर्दिष्ट करती है जो समकक्ष ओवरराइड है जो किसी भी कार्यान्वयन इंटरफ़ेस में दी गई परिभाषाओं को ट्रम्प करती है।

यदि कक्षा को एक सुपर क्लास से एक ठोस ओवरराइड समकक्ष विधि प्राप्त होती है या स्वयं को परिभाषित करती है तो इनमें से कोई भी संघर्ष लागू नहीं होता है।

+0

आपने इसे खींचा। बस इसका परीक्षण किया, और यह वास्तव में यह कैसे काम करता है। – olovb

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