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