java - Calling a Non-Static Method from Another Method in Another Class -


मैंने 2 वर्ग बनाए हैं: पे और PaycheckCalculator । यहां विधि है जो कंप्यूटेशन करती है:

<प्री> सार्वजनिक वर्ग वेतन {निजी डबल घंटे काम किया; निजी डबल दरऑफ़ पे; राइट के साथ निजी डबल; निजी डबल ग्रॉसपे; निजी डबल नेटपे; सार्वजनिक वेतन () {withRate = 15; दरऑफ़ पे = 5.85; } सार्वजनिक शून्य computeNetPay (डबल घंटे, डबल दर पे, डबल दर के साथ) {grossPay = hours * ratePay; डबल नयाअमट = सकल वेतन * दर / 100 के साथ; नेटपे = सकल भुगतान - नयाएएमटी; } सार्वजनिक शून्य computeNetPay (डबल घंटे, डबल दर भुगतान) {सकल भुगतान = घंटे * दर पे; दोहरे नएएएमटी = सकल वेतन * के साथ / 100; नेटपे = सकल भुगतान - नयाएएमटी; } सार्वजनिक शून्य computeNetPay (दो घंटे) {सकल भुगतान = घंटे * दर ओफ़ पे; दोहरे नएएएमटी = सकल वेतन * के साथ / 100; नेटपे = सकल भुगतान - नयाएएमटी; }}

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

  सार्वजनिक वर्ग वेतन जांचकेलुलेटर {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {वेतन कर्मचारी 1 = नया वेतन (37.00, 12.00, 15.00); कर्मचारी 2 = नया पे वेतन (25.00, 11.00); वेतन 3 कर्मचारी = नया वेतन (15.00); प्रदर्शन (employee1); प्रदर्शन (employee2); प्रदर्शन (employee3); } सार्वजनिक स्थिर शून्य प्रदर्शन (पे पेचेक) {System.out.println ("कर्मचारी वेतन है" + Pay.computeNetPay); }}  

कोई भी युक्तियां मेरी री-शिक्षा प्रक्रिया में मेरी सहायता करेगी।

आपको स्थिर स्थिर घोषित किया गया है, जब तक कि उस विधि से कॉल करने में सक्षम होने के लिए किसी वस्तु के उदाहरण की आवश्यकता नहीं है जैसा कि ऊपर उल्लेख किया गया है, आप कॉल कर सकते हैं:

पेचेक। कॉमनेट पे (आप जो पैरामीटर की आवश्यकता होती है)

यह विधि को कक्षा से कॉल करेगा पेचेक जो आप डिस्प्ले पद्धति में पास करते हैं।
यदि आप पहले एक ऑब्जेक्ट बनाना चाहते हैं, तो विधि को स्थैतिक घोषित नहीं करने की आवश्यकता है और इसे इस तरह से बुलाया जा सकता है:

कोड> वेतन । यहां से वर्ग के ऑब्जेक्ट इंस्टॉलेशन को पेचेक कहा जाता है, इसलिए यह ऑब्जेक्ट है जिसे आप (बिना जरूरी) स्थिर तरीके से बुला रहे हैं।
इसके अलावा जब आप पे कर्मचारी लिखते हैं 1 = नया वेतन (37.00, 12.00, 15.00); यह एक कन्स्ट्रक्टर जैसा दिखता है आपको इसे कन्स्ट्रक्टर के रूप में उपयोग नहीं करना चाहिए एक निर्माता कक्षाओं के उदाहरणों को बनाने के लिए है, ऐसा लगता है जैसे आप अपनी पद्धति से एक पद्धति से मानकों को पारित करने का प्रयास कर रहे हैं, और केवल मान , कोई प्रकार नहीं।

केवल


यह आपको सही दिशा में शुरू करना चाहिए, अन्य विधियों के लिए समान दृष्टिकोण का उपयोग करें, लेकिन साथ अधिक पैरामीटर

  सार्वजनिक वर्ग के कर्मचारी {// ये सार्वजनिक होने तक आपको सार्वजनिक होने चाहिए और सार्वजनिक डबल घंटे निर्धारित किए जाने पर कार्य करें; सार्वजनिक डबल दरऑफ़ पे; सार्वजनिक डबल के साथ राइट; सार्वजनिक डबल ग्रॉसपे; सार्वजनिक डबल नेटपैस; सार्वजनिक कर्मचारी () {withRate = 15; दरऑफ़ पे = 5.85; } // इस पद्धति से दोहरी शुद्ध भुगतान लौटें, दोहरी घंटे की गणना करें (दो घंटे) {सकल भुगतान = घंटे * दर ओफ़ पे; दोहरे नएएएमटी = सकल वेतन * के साथ / 100; नेटपे = सकल भुगतान - नयाएएमटी; रिटर्न नेटपे; } सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {कर्मचारी बेन = नया कर्मचारी (); System.out.println ("बेन का भुगतान किया जाता है" + Ben.computeNetPay (8.0)); }}  

Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

java - Gradle dependencies: compile project by relative path -

ruby on rails - Object doesn't support #inspect when used with .include -