मैं हीराक्रेज को पुन: व्यवस्थित करने के साथ संघर्ष कर रहा हूंमेरे प्रोजेक्ट में। मैंने सभी वर्गों को पैकेजों में (लेकिन गलत तरीके से) व्यवस्थित किया है और अब मुझे लगता है कि मुझे अपने पैकेजों को अलग-अलग स्तरों पर रखने का विरोध करने की आवश्यकता है?
अब, जब मैं अपनी परियोजना में कक्षाओं के लिए परीक्षण कक्षाएं लिखने और लिखने की कोशिश करता हूं, तो मैं सब कुछ के लिए प्रतिबिंब का उपयोग किए बिना संबंधित तरीकों को नहीं देख सकता हूं।
फिलहाल मेरे पास जो उत्तराधिकार है वह है
सब कुछ के लिए प्रतिबिंब का उपयोग किए बिना परीक्षण करने और अपने पैकेजों को सही ढंग से घोंसला बनाने में सक्षम होने के लिए मुझे क्या बदलने की आवश्यकता है?
धन्यवाद
उत्तर:
जवाब के लिए 3 № 1एक ही पैकेज के लिए अपनी परीक्षण फ़ाइलों को व्यवस्थित करेंआपकी src फ़ाइलों के रूप में संरचना। इस तरह से co.uk.mine.SomeClass में कोई भी विधि संगत co.uk.mine.SomeClassTest हो सकती है जो किसी भी गैर-निजी तरीकों तक पहुँचने में सक्षम है। निजी तरीकों को प्रतिबिंब द्वारा पहुँचा जा सकता है। आपके विचारक को आपको परीक्षण कोड को अलग रखने के लिए 2 फिल्म संरचनाओं को स्थापित करने की अनुमति देनी चाहिए:
../src/co/uk/mine/SomeClass.java
../test/co/uk/mine/SomeClassTest.java
जवाब के लिए 2 № 2
विधियों की डिफ़ॉल्ट पहुंच "पैकेज दृश्यता" है। इस पर आईबीएम का यह लेख देखें:
http://www.ibm.com/developerworks/library/ws-tip-mem-visibility.html
पैकेज के बाहर कक्षाओं के लिए अपने तरीकों को स्पष्ट करने के लिए, उन्हें सार्वजनिक करें:
public void myMethod() {...}