Junior — Middle
Ի՞նչ տեսակի ներքին դասեր եք ճանաչում ծրագրավորման մեջ։
sobes.tech AI
Պատասխան AI-ից
Java-ում կան հետևյալ տեսակի ներքին դասեր.
-
Կայուն ներքին դաս (static nested class)
- Հայտարարում է
staticմոդիֆիկատորով այլ դասի ներսում: - Չունի ուղիղ մուտք արտաքին դասի ոչ-կայուն անդամներին:
- Օգտագործվում է որպես սովորական արտաքին դաս, բայց տրամաբանականորեն կապված է արտաքին դասի հետ:
- Հայտարարում է
-
Ներքին դաս (inner class)
- Չի հանդիսանում static ներքին դաս:
- Ունի մուտք բոլոր անդամներին, ներառյալ՝ մասնավորները:
- Ստեղծվում է արտաքին դասի օրինակով:
-
Տեղական դաս (local class)
- Հայտարարում է մեթոդի կամ կոդի բլոկի ներսում:
- Մնացական է միայն այդ մեթոդի ներսում:
- Կարող է օգտագործել մեթոդի տեղական փոփոխականները, եթե դրանք final կամ արդյունավետ final են:
-
Անանուն դաս (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();
Յուրաքանչյուր տեսակի ներքին դաս օգտագործվում է ըստ խնդրի և անհրաժեշտության՝ արտաքին դասի անդամներին մուտք գործելու համար։