2011-11-19 18 views
5

मैंने कक्षा ए को परिभाषित किया है जिसमें कई विधियां हैं। तब मेरे पास यह अन्य वर्ग है यानी जेएसएफ के लिए एक प्रबंधित बीन है। बीन के भीतर मैं कक्षा ए का एक उदाहरण बनाता हूं, लेकिन फिर मैं कक्षा ए में किसी भी तरीके का आह्वान नहीं कर सकता। सभी फ़ील्ड सार्वजनिक हैं और विधियों का दायरा भी सार्वजनिक है।जावा क्लास इंस्टेंस से कक्षा विधियों तक नहीं पहुंच सकता

मुझे लगता है कि यह बीन प्रकृति की वजह से हो सकता है (हालांकि यह नहीं होना चाहिए) इसलिए मैंने एक और कक्षा परीक्षक बनाया। जावा और उदाहरण बनाया और यह ठीक हो गया। लेकिन फिर जब मैं विधियों का आह्वान करने की कोशिश करता हूं, नेटबीन्स में सुझाव सूची में कुछ भी नहीं दिखाता है। क्या हो रहा है? धन्यवाद,

संपादित करें: कोड:

public class Reservation { 
.... //setters & getters 

    public List<DateTime> getDateRange(DateTime start, DateTime end) { 
    ......//body of method 
    } 

    public TreeMap<DateTime, Integer> getDatesTreeMap(){ 
    //body of method 
    } 

    public boolean checkRange() { 
    ... body of method 
    } 

    }//end of class - no errors 

और फिर यह कैसे वर्ग instantiated है:

Reservation booking = new Reservation(); 
booking. ????? this is where the suggestions don't come up 

धन्यवाद

+2

कृपया जिस कोड के बारे में आप बात कर रहे हैं उसे जोड़ें। आपको एक जवाब बहुत तेज मिलेगा। – orien

+1

आपको उस कोड में एक बग मिला है जिसे आप हमें नहीं दिखा रहे हैं। –

+0

ऊपर दिखाया गया कोड। उनके दायरे के साथ सभी विधियों की गिरावट दिखायी गयी है जहां मेरा मानना ​​है कि शरीर इस मुद्दे पर महत्वपूर्ण नहीं है। –

उत्तर

8

एक अनुमान (जब से तुम अभी भी काफी कोड नहीं दिखा रहे हैं निश्चित रूप से जानने के लिए, लेकिन ...)

आप शायद कक्षा में और विधि या कन्स्ट्रक्टर ब्लॉक के बाहर कॉल विधियां। दूसरे शब्दों में, इस कोड:

Reservation booking = new Reservation(); 
booking. ????? this is where the suggestions don't come up 

संभावना अपनी कक्षा की घोषणाओं अनुभाग में कहा जाता है, लेकिन एक विधि ब्लॉक, एक निर्माता ब्लॉक, या अन्य इसी तरह के निर्माण के अंदर नहीं। केवल परिवर्तनीय घोषणाएं और उनके संबंधित प्रारंभिक कोड को यहां बुलाया जा सकता है, लेकिन चर पर विधियों को कॉल करने जैसे अन्य विवरण नहीं हो सकते हैं।

समाधान: विधि या कन्स्ट्रक्टर ब्लॉक में कोड कहां से संबंधित है उसे कॉल करें।

+0

कूल साथी। बेवकूफ गलती मुझे लगता है कि मैंने इसे पूरी तरह से अनदेखा किया। मैं मदद की सराहना करता हूं :) –

+0

@sys_debug: अच्छा, खुशी है कि आप इसे काम कर चुके हैं। लेकिन अगली बार, यदि संभव हो तो गेट-गो से अधिक प्रासंगिक जानकारी दिखाएं। यदि आप ऐसा करते हैं तो हम इसे बहुत तेज़ी से जवाब देने में सक्षम होते। –

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

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