यदि आप वस्तुओं के लिए नए हैं, तो आप सबसे अधिक संभावना केवल एक फ़ाइल का उपयोग करके जावा प्रोग्राम बनाने के लिए उपयोग करेंगे - एक जावा मुख्य वर्ग फ़ाइल। यह वह वर्ग है जिसमें जावा प्रोग्राम के शुरुआती बिंदु के लिए मुख्य विधि परिभाषित है।
अगले चरण में वर्ग परिभाषा को एक अलग फ़ाइल में सहेजने की आवश्यकता है। यह उसी नामकरण दिशा-निर्देशों का पालन करता है जैसा कि आप मुख्य वर्ग फ़ाइल के लिए उपयोग कर रहे हैं (यानी, फ़ाइल का नाम .java के फ़ाइल नाम विस्तार के साथ वर्ग के नाम से मेल खाना चाहिए)। उदाहरण के लिए, जैसा कि हम एक बुक क्लास बना रहे हैं, निम्न श्रेणी की घोषणा को "Book.java" नामक फ़ाइल में सहेजा जाना चाहिए।
डेटा एक वस्तु रखता है और यह कैसे हेरफेर करता है कि डेटा एक वर्ग के निर्माण के माध्यम से निर्दिष्ट किया गया है। उदाहरण के लिए, पुस्तक ऑब्जेक्ट के लिए एक वर्ग की मूल परिभाषा नीचे दी गई है:
फ़ील्ड का उपयोग ऑब्जेक्ट के लिए डेटा को स्टोर करने के लिए किया जाता है और संयुक्त रूप से वे ऑब्जेक्ट की स्थिति बनाते हैं। जैसा कि हम एक पुस्तक वस्तु बना रहे हैं, इससे यह समझ में आएगा कि पुस्तक के शीर्षक, लेखक और प्रकाशक के बारे में डेटा रखना:
फ़ील्ड केवल एक महत्वपूर्ण प्रतिबंध के साथ सामान्य चर हैं - उन्हें एक्सेस मॉडिफायर "निजी" का उपयोग करना चाहिए। निजी कीवर्ड का मतलब है कि थिएस चर को केवल उस वर्ग के अंदर से एक्सेस किया जा सकता है जो उन्हें परिभाषित करता है।
ध्यान दें: यह प्रतिबंध जावा कंपाइलर द्वारा लागू नहीं किया गया है। आप अपनी कक्षा की परिभाषा में एक सार्वजनिक चर बना सकते हैं और जावा भाषा इसके बारे में शिकायत नहीं करेगी। हालाँकि, आप ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग - डेटा के मूलभूत सिद्धांतों में से एक को तोड़ रहे होंगे कैप्सूलीकरण. आपकी वस्तुओं की स्थिति को केवल उनके व्यवहार के माध्यम से एक्सेस किया जाना चाहिए। या इसे व्यावहारिक रूप में रखने के लिए, आपके वर्ग के क्षेत्रों को केवल आपके कक्षा के तरीकों के माध्यम से एक्सेस किया जाना चाहिए। आपके द्वारा बनाई गई वस्तुओं पर डेटा एनकैप्सुलेशन को लागू करना आपके ऊपर है।
कंस्ट्रक्टर विधि कक्षा (यानी, पुस्तक) के समान नाम का उपयोग करती है और सार्वजनिक रूप से सुलभ होने की आवश्यकता है। यह उन चर के मूल्यों को लेता है जो इसमें पारित हो जाते हैं और वर्ग फ़ील्ड के मान सेट करते हैं; जिससे वस्तु को प्रारंभिक अवस्था में स्थापित किया जा सके।
व्यवहार एक ऐसी क्रिया है जिसे एक वस्तु कर सकती है और इसे विधियों के रूप में लिखा जाता है। फिलहाल हमारे पास एक ऐसा क्लास है जिसे इनिशियलाइज़ किया जा सकता है, लेकिन ऐसा नहीं किया जाता है। आइए "डिस्प्लेबुकडाटा" नामक एक विधि जोड़ते हैं जो ऑब्जेक्ट में आयोजित वर्तमान डेटा को प्रदर्शित करेगा:
हम अपनी इच्छानुसार अधिक से अधिक विधियाँ और क्षेत्र जोड़ सकते हैं लेकिन अभी के लिए बुक क्लास को पूर्ण मानते हैं। किसी पुस्तक के बारे में डेटा रखने के लिए इसके तीन क्षेत्र हैं, इसे आरंभीकृत किया जा सकता है और इसमें वह डेटा प्रदर्शित किया जा सकता है जिसमें यह शामिल है।
बराबरी के चिन्ह के बायीं ओर ऑब्जेक्ट डिक्लेरेशन है। यह कह रहा है कि मैं एक बुक ऑब्जेक्ट बनाना चाहता हूं और इसे "फ़र्स्टबुक" कहता हूं। बराबरी के चिह्न के दाहिने हाथ पर एक पुस्तक वस्तु के एक नए उदाहरण का निर्माण होता है। यह क्या करता है बुक क्लास परिभाषा पर जाएं और कोड को कंस्ट्रक्टर विधि के अंदर चलाएं। इसलिए, बुक ऑब्जेक्ट का नया उदाहरण क्रमशः "हॉर्टन एयर्स ए वियर्स!", "डॉ। सूस" और "रैंडम हाउस" शीर्षक, लेखक और प्रकाशक क्षेत्रों के साथ बनाया जाएगा। अंत में, बराबर चिह्न बुक क्लास की नई आवृत्ति के लिए हमारी नई फ़र्स्टबुक ऑब्जेक्ट सेट करता है।