Junior — Middle
Ի՞նչ տարբերություն կա ներսի դասի և ներսի դասի միջև ծրագրավորման մեջ։
sobes.tech AI
Պատասխան AI-ից
Java-յում (և Android-ում) մնացած դաս է ցանկացած դաս, որը հայտարարվում է մյուս դասի ներսում։ Մնացած դասերը լինում են երկու տեսակի՝
- Ստատիկ մնացած դաս (static nested class) — հայտարարվում է
staticմոդիֆիկատորով։ Չի ունենա ուղիղ մուտք դեպի արտաքին դասի ոչ-ստատիկ անդամները։ - Ներքին դաս (inner class) — մնացած դաս առանց
staticմոդիֆիկատորի։ Կապված է արտաքին դասի օրինակին և ունի մուտք դեպի նրա ոչ-ստատիկ դաշտեր և մեթոդներ։
Օրինակ՝
class Outer {
private int outerField = 10;
static class StaticNested {
void print() {
// Չի կարող ուղիղ մուտք գործել outerField
System.out.println("Ստատիկ մնացած դաս");
}
}
class Inner {
void print() {
// Կարող է մուտք գործել outerField
System.out.println("Ներքին դաս, outerField = " + outerField);
}
}
}
Հիմնական տարբերությունը այն է, որ ներքին դասը կապված է արտաքին դասի օբյեկտի հետ և կարող է մուտք գործել նրա ոչ-ստատիկ անդամները, իսկ ստատիկ մնացած դասը — ոչ։