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

क्या Java में Enum एक इंटरफेस को इम्प्लीमेंट कर सकता है?

हां, Enum जावा में एक इंटरफेस को इम्प्लीमेंट करता है, यह तब उपयोगी हो सकता है जब हमें कुछ व्यावसायिक तर्क को लागू करने की आवश्यकता होती है जो किसी दिए गए ऑब्जेक्ट या क्लास के भेदभावपूर्ण गुण से紧密 से जुड़ा होता है। एक Enum एक विशेष डेटाटाइप है जिसे Java 1.5 संस्करण में जोड़ा गया था। एनम कॉन्स्टेंट्स होते हैं, डिफ़ॉल्ट रूप से वे स्टैटिक और फाइनल होते हैं इसलिए एनम टाइप फील्ड्स के नाम अपरकेस लेटर्स में होते हैं।

उदाहरण

interface EnumInterface { 
    int calculate(int first, int second); 
} 
enum EnumClassOperator implements EnumInterface{ // An Enum implements an interface 
    ADD { 
        @Override 
        public int calculate(int first, int second) { 
            return first + second; 
        } 
    }, 
    SUBTRACT { 
        @Override 
        public int calculate(int first, int second) { 
            return first - second; 
        } 
    }; 
} 
class Operation { 
    private int first, second; 
    private EnumClassOperator operator; 
    public Operation(int first, int second, EnumClassOperator operator) { 
        this.first = first; 
        this.second = second; 
        this.operator = operator; 
    } 
    public int calculate() { 
        return operator.calculate(first, second); 
    } 
} 
// Main Class
public class EnumTest { 
    public static void main (String [] args) { 
        Operation add = new Operation(20, 10, EnumClassOperator.ADD); 
        Operation subtract = new Operation(20, 10, EnumClassOperator.SUBTRACT); 
        System.out.println("Addition: " + add.calculate()); 
        System.out.println("Subtraction: " + subtract.calculate()); 
    } 
}

आउटपुट

Addition: 30 Subtraction: 10

  1. क्या Java में Enum किसी क्लास को एक्सटेंड कर सकता है? क्या Java में Enum किसी क्लास को एक्सटेंड कर सकता है?

    नहीं, Java में सभी एनम अंतर्निहित रूप से java.lang.Enum को एक्सटेंड करते हैं। चूंकि Java बहु-विरासत का समर्थन नहीं करता, एनम किसी अन्य क्लास को एक्सटेंड नहीं कर सकते।त्रुटि उदाहरणclass Sample { } enum Scooters extends Sample { } // संकलन त्रुटिसंकलन त्रुटिEnumExample.java:5: error: { expected enum

  1. - Java 8 में इंटरफेस संवर्द्धन (Interface Enhancements)

    Java 8 इंटरफेस में डिफ़ॉल्ट मेथड कार्यान्वयन की एक नई अवधारणा पेश करता है। यह क्षमता बैकवर्ड कम्पैटिबिलिटी के लिए जोड़ी गई है ताकि पुराने इंटरफेस Java 8 की लैम्ब्डा एक्सप्रेशन क्षमता का लाभ उठा सकें। उदाहरण के लिए, List या Collection इंटरफेस में forEach मेथड डिक्लेरेशन नहीं है। इस तरह के मेथड को ज

  1. - Java में इंटरफेस (Interface)

    एक इंटरफेस Java में एक रेफरेंस टाइप है। यह एक क्लास के समान है। यह एब्स्ट्रैक्ट मेथड्स का एक संग्रह है। एक क्लास इंटरफेस को इम्प्लीमेंट करती है, जिससे इंटरफेस के एब्स्ट्रैक्ट मेथड्स विरासत में मिलते हैं। एब्स्ट्रैक्ट मेथड्स के साथ, एक इंटरफेस में कॉन्स्टेंट्स, डिफ़ॉल्ट मेथड्स, स्टेटिक मेथड्स, और न