Sobes.tech
Junior — Middle

Ի՞նչ տեսակի ներքին դասեր եք ճանաչում ծրագրավորման մեջ։

sobes.tech AI

Պատասխան AI-ից

Java-ում կան հետևյալ տեսակի ներքին դասեր.

  1. Կայուն ներքին դաս (static nested class)

    • Հայտարարում է static մոդիֆիկատորով այլ դասի ներսում:
    • Չունի ուղիղ մուտք արտաքին դասի ոչ-կայուն անդամներին:
    • Օգտագործվում է որպես սովորական արտաքին դաս, բայց տրամաբանականորեն կապված է արտաքին դասի հետ:
  2. Ներքին դաս (inner class)

    • Չի հանդիսանում static ներքին դաս:
    • Ունի մուտք բոլոր անդամներին, ներառյալ՝ մասնավորները:
    • Ստեղծվում է արտաքին դասի օրինակով:
  3. Տեղական դաս (local class)

    • Հայտարարում է մեթոդի կամ կոդի բլոկի ներսում:
    • Մնացական է միայն այդ մեթոդի ներսում:
    • Կարող է օգտագործել մեթոդի տեղական փոփոխականները, եթե դրանք final կամ արդյունավետ final են:
  4. Անանուն դաս (anonymous class)

    • Անուն չունի:
    • Միաժամանակ հայտարարում և ստեղծում է:
    • Օգտագործվում է հիմնականում ինտերֆեյսների կամ դասերի ժառանգության համար՝ մեկ օգտագործման համար:

Օրինակ՝ static ներքին դասի:

class Outer {
    static class StaticNested {
        void display() {
            System.out.println("Static nested class");
        }
    }
}

Outer.StaticNested nested = new Outer.StaticNested();
nested.display();

Ներքին դասի օրինակ:

class Outer {
    class Inner {
        void display() {
            System.out.println("Inner class");
        }
    }
}

Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.display();

Յուրաքանչյուր տեսակի ներքին դաս օգտագործվում է ըստ խնդրի և անհրաժեշտության՝ արտաքին դասի անդամներին մուտք գործելու համար։