Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में Runtime Polymorphism

मेथड ओवरराइडिंग रनटाइम पॉलीमॉर्फिज्म का एक उदाहरण है। मेथड ओवरराइडिंग में, एक सबक्लास अपने सुपरक्लास में मौजूद मेथड के समान सिग्नेचर वाले मेथड को ओवरराइड करता है। कंपाइल टाइम पर, चेक रेफरेंस टाइप पर किया जाता है। हालांकि, रनटाइम में, JVM ऑब्जेक्ट टाइप का पता लगाता है और उस विशेष ऑब्जेक्ट से संबंधित मेथड को चलाएगा।

उदाहरण

अवधारणा को समझने के लिए नीचे दिए गए उदाहरण देखें −

class Animal { 
    public void move() { 
        System.out.println("Animals can move"); 
    } 
} 
class Dog extends Animal { 
    public void move() { 
        System.out.println("Dogs can walk and run"); 
    } 
} 
public class TestDog { 
    public static void main(String args[]) { 
        Animal a = new Animal(); // Animal रेफरेंस और ऑब्जेक्ट 
        Animal b = new Dog(); // Animal रेफरेंस लेकिन Dog ऑब्जेक्ट 
        a.move(); // Animal क्लास में मेथड चलाता है 
        b.move(); // Dog क्लास में मेथड चलाता है 
    } 
}

आउटपुट

यह निम्नलिखित परिणाम उत्पन्न करेगा −

Animals can move Dogs can walk and run
  1. - जावा में इंटरफेस में स्टेटिक मेथड

    उदाहरणinterface MyInterface { static void staticFun() { System.out.println(नवनिर्मित स्टेटिक मेथड में); } void methodOverride(String str); } public class DemoInterface implements MyInterface { public static void main(String[] args) { DemoInterface demoIn

  1. - जावा कंकरेंसी - yield() मेथड

    yield फंक्शन यह फंक्शन यह सुनिश्चित करने का प्रयास करता है कि अधिक महत्वपूर्ण थ्रेड पहले चले बजाय उस थ्रेड के जिसे निष्पादित होने में बहुत अधिक समय लग रहा है और वह महत्वपूर्ण भी नहीं है। जब थ्रेड java.lang.Thread.yield मेथड को कॉल करता है, तो यह थ्रेड शेड्यूलर के लिए अपने निष्पादन को रोकने का संकेत

  1. Java 9 में destroyForcibly() मेथड का महत्व Java 9 में destroyForcibly() मेथड का महत्व

    Java 9 ने Process क्लास में destroyForcibly() मेथड पेश किया जो प्रक्रियाओं को बलपूर्वक समाप्त करने का एक विश्वसनीय तरीका प्रदान करता है जब सामान्य destroy() (विनम्र समाप्ति) विफल हो जाता है या बहुत धीमा होता है। destroy() बनाम destroyForcibly() पहलूdestroy()destroyForcibly() सिग्नलSIGTERM