2012-09-13 10 views
13

मैं कुछ के लिए गूगल में खोज रहा था और मैंक्या हम जावा में सार्वजनिक स्थैतिक अमूर्त वर्ग बना सकते हैं?

public static abstract class LocationResult{ 
    public abstract void gotLocation(Location location); 
} 

यह एक नेस्टेड वर्ग है की तरह एक कोड मिला है लेकिन सोच रहा है कि यह कैसे सुलभ हो सकता है?

+0

के साथ इसका उपयोग करें आप इसे यहां देख सकते हैं http://stackoverflow.com/questions/4579305/can-we-instantiate-abstract-class –

उत्तर

16

यह एक नेस्टेड क्लास होना चाहिए: वर्ग पर स्थिर कीवर्ड (इसमें इसके तरीके नहीं हैं) केवल नेस्टेड कक्षाओं के लिए उपयोग किया जाता है (और वाक्य रचनात्मक रूप से मान्य)। इस तरह के स्थैतिक सदस्य वर्ग (संक्षेप में सामान्य नामकरण में जावा का उपयोग करने के लिए) संलग्न वर्ग के लिए कोई संदर्भ नहीं है, और इस प्रकार केवल स्थिर क्षेत्रों और विधियों तक पहुंच सकते हैं (गैर स्थैतिक लोगों के विपरीत; जावा में नेस्टेड कक्षाओं का कोई सारांश देखें बाहरी वर्ग का एक उदाहरण बिना

public class EnclosingClass { 
    public static abstract class LocationResult{ 
    public abstract void gotLocation(Location location); 
    } 
} 

EnclosingClass.LocationResult locationResult = ... 
+2

या इसे अन्य नेस्टेड कक्षाओं द्वारा बढ़ाया जा सकता है। – assylias

+0

एक नौसिखिया के रूप में मैं सीखता हूं कि हम एक अमूर्त वर्ग का उदाहरण नहीं बना सकते हैं। क्या यह जानने के लिए सामग्री का कोई दस्तावेज है? –

+0

@YasirKhan आप एक अज्ञात वर्ग के रूप में कर सकते हैं। – assylias

3

केवल नेस्टेड कक्षाएं स्थिर हो सकता है ऐसा करने से आप नेस्टेड वर्ग का उपयोग कर सकते हैं: (भी भीतरी वर्ग के रूप में जाना जाता है)

यह इस तरह से सुलभ हो सकता है।।

तो आपका उपयोग करके इसे विस्तारित कर सकते हैंऔर Mainclass.LocationResult instance = ...

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