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

Java में क्लासेस के विभिन्न प्रकार क्या हैं?


Java में क्लासेस के प्रकार

कंक्रीट क्लास

कोई भी सामान्य क्लास जिसमें कोई एब्सट्रैक्ट मेथड न हो या एक क्लास जिसमें अपने पैरेंट क्लास या इंटरफेस के सभी मेथड्स और अपने मेथड्स का इम्प्लीमेंटेशन हो, कंक्रीट क्लास है।

उदाहरण

public class Concrete { // कंक्रीट क्लास
    static int product(int a, int b) {
        return a * b;
    }
    public static void main(String args[]) {
        int p = product(2, 3);
        System.out.println("Product: " + p);
    }
}

आउटपुट

Product: 6

एब्सट्रैक्ट क्लास

abstract कीवर्ड के साथ घोषित क्लास और जिसमें शून्य या अधिक एब्सट्रैक्ट मेथड्स हों, एब्सट्रैक्ट क्लास के रूप में जानी जाती है। एब्सट्रैक्ट क्लासेस अधूरी क्लासेस होती हैं, इसलिए इनका उपयोग करने के लिए हमें एब्सट्रैक्ट क्लासेस को कंक्रीट क्लास में सख्ती से एक्सटेंड करने की आवश्यकता होती है।

उदाहरण

abstract class Animal { // एब्सट्रैक्ट पैरेंट क्लास
    public abstract void sound(); // एब्सट्रैक्ट मेथड
}
public class Dog extends Animal { // Dog क्लास Animal क्लास को एक्सटेंड करती है
    public void sound() {
        System.out.println("Woof");
    }
    public static void main(String args[]) {
        Animal a = new Dog();
        a.sound();
    }
}

आउटपुट

Woof

फाइनल क्लास

final कीवर्ड के साथ घोषित क्लास एक फाइनल क्लास होती है और इसे दूसरी क्लास द्वारा एक्सटेंड नहीं किया जा सकता, उदाहरण के लिए, java.lang.System क्लास।

उदाहरण

final class BaseClass {
    void Display() {
        System.out.print("This is Display() method of BaseClass.");
    }
}
class DerivedClass extends BaseClass { // कंपाइल-टाइम एरर - फाइनल क्लास इनहेरिट नहीं कर सकते
    void Display() {
        System.out.print("This is Display() method of DerivedClass.");
    }
}
public class FinalClassDemo {
    public static void main(String[] arg) {
        DerivedClass d = new DerivedClass();
        d.Display();
    }
}

उपरोक्त उदाहरण में, DerivedClass extends BaseClass(final), हम फाइनल क्लास को एक्सटेंड नहीं कर सकते, इसलिए कंपाइलर एरर फेंकेगा. उपरोक्त प्रोग्राम निष्पादित नहीं होता।

आउटपुट

cannot inherit from final BaseClass
Compile-time error - can't inherit final class

POJO क्लास

एक क्लास जिसमें केवल प्राइवेट वेरिएबल्स और उन वेरिएबल्स का उपयोग करने के लिए सेटर और गेटर मेथड्स हों, POJO (Plain Old Java Object) क्लास कहलाती है। यह एक फुली एनकैप्सुलेटेड क्लास है।

उदाहरण

class POJO {
    private int value=100;
    public int getValue() {
        return value;
    }
    public void setValue(int value) {
        this.value = value;
    }
}
public class Test {
    public static void main(String args[]){
        POJO p = new POJO();
        System.out.println(p.getValue());
    }
}

आउटपुट

100

Static क्लास

Static क्लासेस नेस्टेड क्लासेस होती हैं यानी एक क्लास जो दूसरी क्लास के भीतर static मेंबर के रूप में घोषित की जाती है, static क्लास कहलाती है।

उदाहरण

import java.util.Scanner;
class staticclasses {
    static int s; // static वेरिएबल
    static void met(int a, int b) { // static मेथड
        System.out.println("static method to calculate sum");
        s = a + b;
        System.out.println(a + "+" + b); // दो नंबर प्रिंट
    }
    static class MyNestedClass { // static क्लास
        static { // static ब्लॉक
            System.out.println("static block inside a static class");
        }
        public void disp() {
            int c, d;
            Scanner sc = new Scanner(System.in);
            System.out.println("Enter two values");
            c = sc.nextInt();
            d = sc.nextInt();
            met(c, d); // static मेथड कॉल करना
            System.out.println("Sum of two numbers-" + s); // static वेरिएबल में परिणाम प्रिंट
        }
    }
}
public class Test {
    public static void main(String args[]) {
        staticclasses.MyNestedClass mnc = new staticclasses.MyNestedClass(); // static क्लास के लिए ऑब्जेक्ट
        mnc.disp(); // static क्लास के अंदर मेथड्स एक्सेस करना
    }
}

आउटपुट

static block inside a static class
Enter two values
10
20
static method to calculate sum
10+20
Sum of two numbers-30

इनर क्लास

एक क्लास जो दूसरी क्लास या मेथड के भीतर घोषित की जाती है, इनर क्लास कहलाती है।

उदाहरण

public class OuterClass {
    public static void main(String[] args) {
        System.out.println("Outer");
    }
    class InnerClass {
        public void inner_print() {
            System.out.println("Inner");
        }
    }
}

आउटपुट

Outer

  1. - Java 9 में क्लास लोडर परिवर्तन: सिस्टम, प्लेटफॉर्म और बूटस्ट्रैप

    Java 9 ने मॉड्यूल सिस्टम (Project Jigsaw) का समर्थन करने के लिए क्लास लोडर आर्किटेक्चर में मूलभूत परिवर्तन पेश किए। पारंपरिक तीन-स्तरीय पदानुक्रम (बूटस्ट्रैप → एक्सटेंशन → सिस्टम/एप्लिकेशन) को पुनर्गठित किया गया है। Java 8 बनाम Java 9+ क्लास लोडर पदानुक्रम Java 8Java 9+परिवर्तन बूटस्ट्रैप

  1. - जावा 9 में JShell में विभिन्न स्टार्टअप स्क्रिप्ट क्या हैं?

    JShell  एक इंटरैक्टिव जावा शेल टूल है जो JShell से कोड निष्पादित करता है और तुरंत आउटपुट प्रदर्शित करता है। JShell REPL (रीड-इवैल्यूएट-प्रिंट-लूप) टूल है जिसे कमांड-लाइन प्रॉम्प्ट से चलाया जा सकता है। JShell में, स्टार्टअप पर एक स्क्रिप्ट लोड करने का विकल्प होता है जिसमें कुछ विशेष पूर्वनि

  1. जावा 9 में JShell में विभिन्न /edit कमांड्स जावा 9 में JShell में विभिन्न /edit कमांड्स

    JShell जावा 9 में पेश किया गया एक कमांड-लाइन टूल है जो main() मेथड के बिना डिक्लेरेशन्स, स्टेटमेंट्स, और एक्सप्रेशन्स का मूल्यांकन करता है। JShell एक टेक्स्ट एडिटर सेट कर सकता है जिसे JShell Edit Pad कहा जाता है, जो कोड को बहुत आसानी से संशोधित करने की अनुमति देता है, और इसे /edit कमांड का उपयोग करक