java - Why is upcasting a Class considered an unsafe operation? -
ऐसा कोई कलाकार केवल सामान्य रूप से सुरक्षित नहीं है सामान्य में , और तथ्य यह है कि यह अब, यदि प्रश्न में डालने की अनुमति दी गई थी, तो आप आपने टिप्पणी में पूछा: क्या आप कह रहे हैं कि भाषा लेखकों को कक्षाओं की तरह सुरक्षित वर्गों के लिए विशेष उपचार से बचना चाहिए बोर्ड? हां महत्वपूर्ण मुद्दा यह है कि इस तरह का एक कलाकार सुरक्षित है या नहीं यह सवाल है कि कक्षा के शब्दों पर निर्भर करता है सुरक्षा का पता नहीं लगाया जा सकता है वाक्यविन्यास । class
क्लास & lt; ऑब्जेक्ट & gt; को बढ़ाता है? यह कैसे संभवतः असफल हो सकता है?
वर्ग वर्ग के लिए सुरक्षित है। इस तरह से एक वर्ग की कल्पना करें:
// हाइफोटीटीकल! क्लास मायक्लास & lt; T & gt; वर्ग & lt; T & gt; {सार्वजनिक टी कुछ अंतर; }
MyClass & lt; Integer & gt; MyClassWithInteger = नया MyClass & lt; पूर्णांक & gt; (); MyClassWithInteger.someInstance = someInteger; // यह मान्य MyClass & lt ;? वस्तु & gt; फैली हुई है MyClassWithWildcard = myClassWithInteger; // यह मान्य नहीं है, लेकिन मान लें कि यह था: MyClass & lt; Object & gt; MyClassWithObject = myClassWithWildcard; // यह मान्य होगा, क्योंकि 'कुछ इन्स्टेंस' प्रकार 'ऑब्जेक्ट' का था, यहाँ myClassWithObject.someInstance = "someString"; // यह मान्य है लेकिन अनियंत्रित कलाकारों के माध्यम से, हमने चुपचाप / इस घटना के रूप में एक STRING में चुपचाप किया। तो यह असफल हो जायेगा: पूर्णांक I = myClassWithInteger.someInstance;
Comments
Post a Comment