दिलचस्प पोस्ट
कैसे एक <iframe> में एक पीडीएफ फाइल खोलने के लिए? Mac OS X 10.9 / Xcode 5.0.1 में अपग्रेड करने के बाद C ++ लिंकिंग त्रुटि एंड्रॉइड एफबी एसडीके से हमेशा फेसबुक पर संदेश पोस्ट करें IOS7 में एक धुंधला प्रभाव बनाना रसीला प्रमाणीकरण <Welcome-file-list> और <error-page> सर्वलेट 3.0 के web.xml-less में कैसे परिभाषित करें? सी + + हेडर ऑर्डर पूर्णांक। पर्स बनाम सीआईएनटी मेरीस्कीली तैयार कथन में नल का इस्तेमाल करना निर्धारित करना कि कोई एंड्रॉइड डिवाइस प्रोग्रामेटिक रूप से निहित है या नहीं? मैं NSManagedObject स्विफ्ट एक्सटेंशन में प्रबंधित ऑब्जेक्ट सबक्लेसेस के उदाहरण कैसे बना सकता हूं? IntelliJ IDEA प्रोजेक्ट में बाहरी जार (बीबी / *। जार) को जोड़ने का सही तरीका ऑफसेटिंग कॉलम काम नहीं कर रहा है (बूटस्ट्रैप v4.0.0-बीटा) लंबे समय तक चौड़े स्वरूप से काम नहीं करना क्यों करता है जैसा कि लागू होता है जब प्रयोग में इस्तेमाल किया जाता है तो एक चरित्र वापस आ जाता है?

आंतरिक वर्ग को इंस्टेंटिएट करना

मैं अति- रेडिंग हैशोड की एक नमूना समस्या पर काम कर रहा हूं और विधि के बराबर हूं, लेकिन एक त्रुटि प्राप्त कर रहा हूं: " कस्टमहाशोड्यूडेड टाइप का कोई उदाहरण नहीं है। " कस्टमहाश कोड उदाहरण (उदाहरण के लिए एक उदाहरण) के आवंटन के साथ आबंटन को योग्य होना चाहिए, जहां x एक उदाहरण है कस्टम हॅशकॉडीएक्सम्प्शन का) "मैंने एक आंतरिक वर्ग HashPerson लिखा है और मुझे यह त्रुटि मिल रही है जब मैं इस आंतरिक कक्षा को testHashCodeOverride () नामक एक अन्य विधि में इन्स्तांत करने की कोशिश कर रहा हूं।

public static void testHashCodeOverride(){ System.out.println("\nTest HashCode Override Method"); System.out.println("==================================\n"); HashPerson william = new HashPerson("willy"); HashPerson bill = new HashPerson("willy"); } 

यह कोड ठीक काम करता है, भले ही मैं स्थैतिक इनर क्लास या बाहरी क्लास के तत्काल नहीं देख रहा हूं, उलझन में है 🙁

 public class HashCodeExample { public static void testHashCodeOverride() { HashPerson william = new HashPerson("Willy"); HashPerson bill = new HashPerson("Willy"); System.out.println("Hash code for william = " + william.hashCode()); System.out.println("Hash code for bill = " + bill.hashCode()); HashMap table = new HashMap(); table.put(william, "Silly"); if (table.containsKey(william)) { System.out.println(table.get(william)); } else { System.out.println("Key " + william + " not found"); } if (table.containsKey(bill)) { System.out.println(table.get(bill)); } else { System.out.println("Key " + bill + " not found"); } } class HashPerson { private static final int HASH_PRIME = 1000003; public HashPerson(String name) { this.name = name; } public String toString() { return name; } public boolean equals(Object rhs) { if (this == rhs) return true; // make sure they are the same class if (rhs == null || rhs.getClass() != getClass()) return false; // ok, they are the same class. Cast rhs to HashPerson HashPerson other = (HashPerson) rhs; // our test for equality simply checks the name field if (!name.equals(other.name)) { return false; } // if we get this far, they are equal return true; } public int hashCode() { int result = 0; result = HASH_PRIME * result + name.hashCode(); return result; } private String name; } } 

Solutions Collecting From Web of "आंतरिक वर्ग को इंस्टेंटिएट करना"

मुझे लगता है कि आप HashPerson वर्ग को static रूप में घोषित करना चाहते हैं अन्यथा यह केवल युक्त वर्ग के संदर्भ में इन्स्तांत किया जा सकता है, या तो उस वर्ग की विधि में या इस तरह कोड का उपयोग कर रहा है:

 ContainingClass container = new ContainingClass(); HashPerson william = container.new HashPerson("willy"); 

दरअसल, मेरा नियम-अंगूठे किसी भी नेस्टेड क्लास को स्थिर बनाना है, जब तक कि मेरा कोई विशेष कारण न हो। यह भी अधिक कुशल है, क्योंकि गैर-स्थैतिक नेस्टेड क्लासेस (जिसे आंतरिक कक्षाएं कहा जाता है) में हमेशा युक्त ऑब्जेक्ट का एक अंतर्निहित संदर्भ होता है।

आपको अपने आंतरिक वर्ग को स्थिर बनाने की आवश्यकता है, या बाहरी कक्षा के एक उदाहरण के माध्यम से इसे देखें। सबसे अधिक संभावना है कि आप बस अपने भीतर की कक्षा को स्थैतिक बनाना चाहते हैं।

कक्षा के गैर-स्थिर सदस्य (वेरिएबल्स, विधियां, आंतरिक कक्षाएं) कक्षा के उदाहरण हैं। इसलिए, जब एक स्थैतिक संदर्भ (जैसे कि testHashCodeOverride जैसे एक स्थिर विधि) से गैर-स्थिर सदस्य तक पहुंच रहे हैं, तो आपको संलग्न कक्षा का एक उदाहरण निर्दिष्ट करना होगा।