-
जावा में बहुरूपता
बहुरूपता एक वस्तु की कई रूपों को लेने की क्षमता है। OOP में बहुरूपता का सबसे आम उपयोग तब होता है जब किसी चाइल्ड क्लास ऑब्जेक्ट को संदर्भित करने के लिए पैरेंट क्लास रेफरेंस का उपयोग किया जाता है। कोई भी जावा ऑब्जेक्ट जो एक से अधिक IS-A परीक्षण पास कर सकता है, उसे बहुरूपी माना जाता है। जावा में, सभी
-
क्या हम जावा में अंतिम विधि प्राप्त कर सकते हैं?
हां, एक अंतिम विधि विरासत में मिली है लेकिन इसे ओवरराइड नहीं किया जा सकता है।
-
जावा में रनटाइम बहुरूपता
विधि अधिभावी रनटाइम बहुरूपता का एक उदाहरण है। मेथड ओवरराइडिंग में, एक सबक्लास उसी सिग्नेचर वाली मेथड को ओवरराइड करता है जैसे उसके सुपरक्लास में। संकलन समय के दौरान, संदर्भ प्रकार पर जांच की जाती है। हालाँकि, रनटाइम में, JVM ऑब्जेक्ट प्रकार का पता लगाता है और उस विधि को चलाएगा जो उस विशेष ऑब्जेक्ट से
-
बहुस्तरीय विरासत के साथ जावा रनटाइम बहुरूपता
विधि अधिभावी रनटाइम बहुरूपता का एक उदाहरण है। मेथड ओवरराइडिंग में, एक सबक्लास उसी सिग्नेचर वाली मेथड को ओवरराइड करता है जैसे उसके सुपरक्लास में। संकलन समय के दौरान, संदर्भ प्रकार पर जांच की जाती है। हालाँकि, रनटाइम में, JVM ऑब्जेक्ट प्रकार का पता लगाता है और उस विधि को चलाएगा जो उस विशेष ऑब्जेक्ट से
-
जावा में स्टेटिक बाइंडिंग और डायनेमिक बाइंडिंग
हां! जब संकलक जानता है कि विधि निष्पादन के लिए किन वस्तुओं का उपयोग किया जाना है, तो यह वस्तु के संदर्भ को स्थिर रूप से बांध सकता है। उदाहरण के लिए, स्थिर चर, निजी, अंतिम चर स्थिर बंधन का उपयोग कर रहे हैं। वहीं अगर रनटाइम पर ऑब्जेक्ट आइडेंटिफिकेशन करना है तो डायनेमिक बाइंडिंग का इस्तेमाल किया जाता ह
-
जावा में डाउनकास्टिंग
हां, एक वेरिएबल को कास्ट करके उसकी निचली रेंज के विकल्प पर डाउनकास्ट किया जा सकता है। हालाँकि इससे डेटा हानि हो सकती है। नीचे दिया गया उदाहरण देखें - उदाहरण public class Tester { public static void main(String[] args) { int a = 300; byte b = (by
-
जावा में उदाहरण के ऑपरेटर
इस ऑपरेटर का उपयोग केवल ऑब्जेक्ट संदर्भ चर के लिए किया जाता है। ऑपरेटर जाँचता है कि क्या वस्तु किसी विशेष प्रकार की है (वर्ग प्रकार या इंटरफ़ेस प्रकार)। इंस्टॉफ़ ऑपरेटर को − . के रूप में लिखा जाता है ( Object reference variable ) instanceof (class/interface type) यदि ऑपरेटर के बाईं ओर वेरिएबल द्वारा
-
जावा में सार वर्ग
जिस वर्ग की घोषणा में सार कीवर्ड होता है उसे अमूर्त वर्ग के रूप में जाना जाता है। एब्स्ट्रैक्ट क्लासेस में एब्सट्रैक्ट मेथड्स हो भी सकते हैं या नहीं भी हो सकते हैं, यानी बॉडी के बिना मेथड्स ( public void get(); ) लेकिन, यदि किसी वर्ग में कम से कम एक सार विधि है, तो कक्षा को सार घोषित किया जाना चाहि
-
जावा में अमूर्त बनाम एनकैप्सुलेशन
एनकैप्सुलेशन Encapsulation चार मूलभूत OOP अवधारणाओं में से एक है। अन्य तीन विरासत, बहुरूपता और अमूर्तता हैं। जावा में एनकैप्सुलेशन डेटा (चर) और डेटा (विधियों) पर काम करने वाले कोड को एक इकाई के रूप में एक साथ लपेटने के लिए एक तंत्र है। इनकैप्सुलेशन में, एक वर्ग के चर अन्य वर्गों से छिपे रहेंगे और क
-
जावा में अमूर्तता
शब्दकोश के अनुसार, अमूर्त घटनाओं के बजाय विचारों से निपटने का गुण है। उदाहरण के लिए, जब आप ई-मेल के मामले पर विचार करते हैं, तो जटिल विवरण जैसे कि ई-मेल भेजते ही क्या होता है, आपके ई-मेल सर्वर द्वारा उपयोग किया जाने वाला प्रोटोकॉल उपयोगकर्ता से छिपा होता है। इसलिए, एक ई-मेल भेजने के लिए आपको केवल सा
-
जावा में सार विधि और कक्षाएं
हां। हम जावा में बहुत आसानी से एब्सट्रैक्ट मेथड/क्लासेस बना सकते हैं। उदाहरण एक एब्सट्रैक्ट क्लास बनाने के लिए, क्लास डिक्लेरेशन में क्लास कीवर्ड से पहले एब्सट्रैक्ट कीवर्ड का इस्तेमाल करें। /* File name : Employee.java */ public abstract class Employee { private String name; private
-
जावा में इंटरफ़ेस
एक इंटरफ़ेस जावा में एक संदर्भ प्रकार है। यह एक वर्ग के समान है। यह अमूर्त विधियों का एक संग्रह है। एक वर्ग एक इंटरफ़ेस लागू करता है, जिससे इंटरफ़ेस के अमूर्त तरीकों को विरासत में मिलता है। अमूर्त विधियों के साथ, एक इंटरफ़ेस में स्थिरांक, डिफ़ॉल्ट विधियाँ, स्थिर विधियाँ और नेस्टेड प्रकार भी हो सकते
-
जावा 8 में इंटरफ़ेस एन्हांसमेंट
जावा 8 इंटरफेस में डिफ़ॉल्ट विधि कार्यान्वयन की एक नई अवधारणा पेश करता है। इस क्षमता को पश्चगामी संगतता के लिए जोड़ा जाता है ताकि पुराने इंटरफेस का उपयोग जावा 8 की लैम्ब्डा अभिव्यक्ति क्षमता का लाभ उठाने के लिए किया जा सके। उदाहरण के लिए, सूची या संग्रह इंटरफेस में प्रत्येक के लिए विधि घोषणा नहीं ह
-
अमूर्त वर्ग और इंटरफ़ेस के बीच अंतर
एक अमूर्त वर्ग में उदाहरण विधियां हो सकती हैं जो एक डिफ़ॉल्ट व्यवहार को लागू करती हैं। एक इंटरफ़ेस केवल स्थिरांक और उदाहरण विधियों की घोषणा कर सकता है, लेकिन डिफ़ॉल्ट व्यवहार को लागू नहीं कर सकता है और सभी विधियां निहित रूप से सार हैं। एक इंटरफ़ेस में सभी सार्वजनिक सदस्य होते हैं और कोई कार्यान्वयन
-
इंटरफेस में जावा 8 डिफ़ॉल्ट तरीके
जावा 8 इंटरफेस में डिफ़ॉल्ट विधि कार्यान्वयन की एक नई अवधारणा पेश करता है। इस क्षमता को पश्चगामी संगतता के लिए जोड़ा जाता है ताकि पुराने इंटरफेस का उपयोग जावा 8 की लैम्ब्डा अभिव्यक्ति क्षमता का लाभ उठाने के लिए किया जा सके। उदाहरण के लिए, सूची या संग्रह इंटरफेस में प्रत्येक के लिए विधि घोषणा नहीं
-
जावा 8 इंटरफेस में स्थिर तरीके
एक इंटरफ़ेस में Java 8 के बाद से स्थिर सहायक विधियाँ भी हो सकती हैं। public interface vehicle { default void print() { System.out.println("I am a vehicle!"); } static void blowHorn() { System.out.println("
-
जावा में मार्कर या टैग्ड इंटरफेस क्या है?
विस्तारित इंटरफेस का सबसे आम उपयोग तब होता है जब पैरेंट इंटरफेस में कोई विधि नहीं होती है। उदाहरण के लिए, Java.awt.event पैकेज में MouseListener इंटरफ़ेस java.util.EventListener को विस्तारित करता है, जिसे - के रूप में परिभाषित किया गया है। उदाहरण package java.util; public interface EventListener {}
-
जावा में नेस्टेड इंटरफ़ेस
हम किसी अन्य इंटरफ़ेस या कक्षा में एक इंटरफ़ेस घोषित कर सकते हैं। ऐसे इंटरफ़ेस को नेस्टेड इंटरफ़ेस कहा जाता है। नेस्टेड इंटरफ़ेस को नियंत्रित करने वाले निम्नलिखित नियम हैं। इंटरफ़ेस के भीतर घोषित एक नेस्टेड इंटरफ़ेस सार्वजनिक होना चाहिए। कक्षा के भीतर घोषित एक नेस्टेड इंटरफ़ेस में कोई भी एक्सेस संश
-
जावा में संकुल के प्रकार
जावा में पैकेजों का उपयोग नामकरण विवादों को रोकने, पहुंच को नियंत्रित करने, कक्षाओं, इंटरफेस, गणनाओं और एनोटेशन आदि की खोज/पता लगाने और उपयोग को आसान बनाने के लिए किया जाता है। एक पैकेज को संबंधित प्रकारों (वर्ग, इंटरफेस, गणना, और एनोटेशन) के समूह के रूप में परिभाषित किया जा सकता है जो पहुंच सुरक्षा
-
जावा में पैकेज बनाना और उपयोग करना
पैकेज बनाते समय, आपको पैकेज के लिए एक नाम चुनना चाहिए और प्रत्येक स्रोत फ़ाइल के शीर्ष पर उस नाम के साथ एक पैकेज स्टेटमेंट शामिल करना चाहिए जिसमें कक्षाएं, इंटरफेस, एन्यूमरेशन, और एनोटेशन प्रकार जिन्हें आप पैकेज में शामिल करना चाहते हैं। पैकेज स्टेटमेंट सोर्स फाइल की पहली लाइन होनी चाहिए। प्रत्येक