2011-06-28 15 views
5

मैं जावा (मैं सी/सी ++ में प्रोग्राम) के लिए काफी हरा हूं और मुझे अभी भी यह पता नहीं चला है कि यह सब एक साथ कैसे काम करता है।.java फ़ाइलों के साथ .class फ़ाइल का उपयोग कैसे करें

मैं किसी को भी अपना होमवर्क करने के लिए कहने की कोशिश नहीं कर रहा हूं, मैं बस कुछ बुनियादी जावा सामानों के बारे में उलझन में हूं। मेरे पास एक असाइनमेंट है जो मुझे भूलभुलैया बनाना चाहता है। असाइनमेंट कुछ फाइलों के साथ आता है जो पूर्व-कार्यान्वित किए गए हैं और सैद्धांतिक रूप से काम करते हैं। फ़ोल्डर मुझे कुछ .java फ़ाइलें और कुछ .class फ़ाइलें देता है। मैंने .java फ़ाइलों को खोला और उनमें से अधिकतर वास्तविक कोड के साथ इंटरफेस हैं, इसलिए मुझे लगता है कि इसका मांस इन क्लास फाइलों में है। मेरा सवाल है, मैं इन .class फ़ाइलों के साथ कैसे इंटरफेस करूँ? क्या मुझे myClass आयात करने की तरह कुछ करने की ज़रूरत है; अगर मेरे पास myClass.class नामक एक फ़ाइल है?

मैंने फ़ाइल निर्देशिका आयात करने का प्रयास किया है जो इन फ़ाइलों में शामिल है (ग्रहण के माध्यम से), लेकिन ऐसा लगता है कि .class फ़ाइलें दिखाई नहीं देती हैं। मुझे लगता है कि यह पृष्ठभूमि में संसाधित किया जा रहा है?

यहाँ यहाँ और सभी जावा के साथ ज़िप फ़ाइल .class फ़ाइलों पहले से http://www.ics.uci.edu/~goodrich/teach/ics23/LabManual/Dark/Dark.zip

धन्यवाद है काम http://www.ics.uci.edu/~goodrich/teach/ics23/LabManual/Dark/

के लिए एक लिंक है!

उत्तर

4

ग्रहण में अपनी परियोजना में .class फ़ाइलों को जोड़ने के लिए: अपनी प्रोजेक्ट पर राइट-क्लिक करें, गुणों का चयन करें -> जावा बिल्ड पथ -> लाइब्रेरीज़ और क्लास फ़ोल्डर जोड़ें बटन पर क्लिक करें। कक्षाओं के साथ फ़ोल्डर का चयन करें।

+4

किसी आईडीई के विशेष इंटरफ़ेस का उपयोग करने के लिए किसी को पढ़ाना वास्तव में क्या हो रहा है उसे समझाने का एक उपयोगी तरीका नहीं है। – tobyodavies

+0

मैं सहमत हूं, लेकिन मैं यहां बहुत सारे उत्तरों को देखता हूं जो बताते हैं कि वास्तव में क्या हो रहा है और कोई भी जो वास्तव में क्या करता है उसे समझाता है। – Tarlog

+0

tobyodavies के साथ अधिक सहमत नहीं हो सका। वह एक अकादमिक दृष्टिकोण से सवाल पूछ रहा है, उत्पादन नहीं। आईडीई विशिष्ट सलाह देना टालना चाहिए। :) – Angad

0

क्लास फाइल जावा कंपाइलर का बाइनरी आउटपुट हैं। वे सी या सी ++ में .o फाइलों के जावा समकक्ष हैं, इस उदाहरण में "मांस" शायद आपके लिए लागू करने के लिए है।

जावा संकलक खोजने और आवश्यक फ़ाइलों सहित संभालती है, तो आप पूरी क्लास के नाम (some.package.name.SomeClass की जैसे SomeClass बजाय)

1

.class फ़ाइलों .java फ़ाइलों के संस्करणों संकलित किए जाते हैं उपयोग करने के लिए होने से बचाने के import some.package.name.*; करना पड़ सकता है।

फ़ाइल का नाम:: some.package.class

कोड: import some.package;

एक बार जब आप आयात करने के बाद आप पैकेज यह मानते हुए कि .class फ़ाइलों को नाम और पैक कर रहे हैं उचित रूप से आप उन्हें इस तरह के संदर्भ के लिए सक्षम होना चाहिए उसमें निहित कक्षाओं पर विधियों को कॉल कर सकते हैं।

+0

व्याख्याता का कोड संकुल का उपयोग नहीं करता है> _ < – Dunes

0

कक्षा फाइलें संकलित कक्षाएं हैं और आप उन्हें अपने आईडीई में नहीं देख सकते हैं। आपका आईडीई आप उन्हें आयात करने के लिए, लेकिन बस एक्सटेंशन छोड़ने की अनुमति देगा ...

import example.some.Thing; 

जावा फ़ाइलों स्रोत फ़ाइलों कि सबसे अधिक संभावना .class फ़ाइलों को संकलित करने के लिए इस्तेमाल किया गया है। मुझे यकीन है कि वे सिर्फ आपके संदर्भ के लिए हैं।

4

नहीं आपको आयात करने की आवश्यकता नहीं होगी। कक्षा फ़ाइलों को एक ही फ़ोल्डर में रखें ताकि उनके पथ को शामिल किया जा सके और उन्हें सामान्य डेटाटाइप की तरह कॉल करें।

उदाहरण के लिए:

myClass mc = new myClass(); 

या

(new myClass()).myRoutine(); 

कुछ विधि स्थिर है

myClass.staticalicious(); 

आयात आम तौर पर प्रयोग किया जाता है जब classfiles के लिए पथ निर्दिष्ट करने की आवश्यकता है।

इसके अलावा, .class फ़ाइलों को बस .java फ़ाइलों को संकलित किया गया है।

ओह और आखिरकार, जावा नामकरण का पालन करें :) यह MyClass नहीं होगा, MyClass नहीं।

1

जैसा कि अन्य लोगों ने उल्लेख किया है, कक्षा फाइल संकलित जावा फाइलें हैं, इसलिए स्रोत फ़ाइलों में आप देख सकते हैं कि उनमें से अधिक "मांस" नहीं है। कार्यान्वयन के लिए इंटरफेस और कक्षा फाइलों के लिए कक्षा फाइलें हैं।

मुझे लगता है कि आप केवल डिफ़ॉल्ट पैकेज का उपयोग करते हैं।

उदहारण के लिए:

तो बस इन पूर्व संकलित कक्षाएं पकड़े निर्देशिका के लिए classpath सेट एक लिनक्स/यूनिक्स सिस्टम पर अपनी कक्षाओं को संकलित करने के:

javac -classpath <dirWithClassFiles>:. ..... 

और आवेदन को चलाने के लिए: तो

java -classpath <dirWithClassFiles>:. ..... 

आप सीधे अपनी खुद की कक्षाओं में उन पूर्व संकलित कक्षाओं का उपयोग कर सकते हैं।

0

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

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