मेरे पास एक साधारण वर्ग ऐप्पल एक और साधारण वर्ग फल से फैली हुई है।जावा में पहचानकर्ता के घोषित प्रकार का पता कैसे लगाएं?
रन समय में, मैं
Fruit fruit = new Apple();
fruit.getClass();
का उपयोग फल वस्तु है, जो Apple.class है के वास्तविक प्रकार प्राप्त करने के लिए कर सकता है।
मैं fruit instanceof Apple
, और fruit instanceof Fruit
का उपयोग यह सत्यापित करने के लिए भी कर सकता हूं कि यह फल वस्तु ऐप्पल या फल का एक उदाहरण है या नहीं। इन दोनों अभिव्यक्तियों में से दोनों सत्य वापस आते हैं, जो सामान्य है।
लेकिन क्या घोषित प्रकार fruit
पहचानकर्ता निर्धारित करने का कोई तरीका है? इस मामले में Fruit
है।
आपको यह वर्णन करना चाहिए कि आप उस भेदभाव के बाद किस प्रभाव को प्राप्त करना चाहते हैं। मेरा मानना है कि उस मूल समस्या को हल करने के अन्य तरीके हैं। – Bananeweizen
मुझे उत्सुकता है कि आप क्यों जानना चाहते हैं (कैसे 'फल' घोषित किया गया था), और अलग से, आप पहले से ही क्यों नहीं जानते (क्योंकि आपके पास कोड है)। मैं एक उपयोग के मामले के साथ नहीं आ रहा हूँ। ऑब्जेक्ट जो 'फलों' को इंगित करता है ** ** एक 'ऐप्पल' है। 'फल' परिवर्तनीय के माध्यम से इसका इंटरफ़ेस' फल' है, लेकिन यह पूरी तरह से संकलित-समय की बात है। –
ऐसा करने का क्या मतलब है - आपने फल को फल बनाने के लिए कोड किया है ताकि आप पहले से ही जान सकें कि यह क्या है। – DaveRlz