Junior
Ի՞նչ է նշանակում 'static' բանալի բառը Java-ում:
sobes.tech AI
Պատասխան AI-ից
static-ը Java-ում օգտագործվում է դասի անդամների հայտարարելու համար, ոչ թե կոնկրետ օբյեկտի օրինակին:
Կողմից բառը կարող է կիրառվել՝
- Փոփոխականների (միավորների) համար:
- Մի օրինակ փոփոխականի գոյություն ունի ամբողջ դասի համար, անկախ ստեղծված օրինակների թվից:
- Դասի անունով կարելի է հասնել նրան (օրինակ՝
ClassName.staticVariable):
// Ստատիկ փոփոխականի օրինակ public class MyMath { public static final double PI = 3.14159; // Հասանելիություն՝ MyMath.PI } - Մեթոդների համար:
- Մեթոդը պատկանում է դասին, ոչ թե կոնկրետ օբյեկտին:
- Կարող է կանչվել դասի անունով (օրինակ՝
ClassName.staticMethod()): - Չի ունի հասանելիություն ոչ ստատիկ անդամներին (փոփոխականներ կամ մեթոդներ), քանի որ դրանք կապված են օրինակին:
// Ստատիկ մեթոդի օրինակ public class Calculator { public static int add(int a, int b) { return a + b; } // Կոչ՝ Calculator.add(5, 3) } - Ինիցիալիզացիայի բլոկներ:
- Կատարվում է մեկ անգամ դասի բեռնման ժամանակ JVM-ում:
- Օգտագործվում է ստատիկ դաշտերի ինիցիալիզացման կամ այլ գործողությունների համար, որոնք կապված են դասի հետ:
// Ստատիկ բլոկի օրինակ public class DataInitializer { static { // Կոդ, որը կատարվում է դասի բեռնման ժամանակ System.out.println("DataInitializer class loaded."); } } - Ներքին դասեր (inner/nested classes):
- Ստատիկ ներքին դասը պահում է որպես սովորական վերևի մակարդակի դաս, բացառությամբ այն, որ գտնվում է այլ դասի ներսում:
- Չի պահանջում արտաքին դասի օրինակ ստեղծել նրա հասանելիության համար:
- Ունի հասանելիություն միայն արտաքին դասի ստատիկ անդամներին:
// Ստատիկ ներքին դասի օրինակ public class OuterClass { static class StaticInnerClass { // Ստատիկ ներքին դասի դաշտեր և մեթոդներ } } // Հասանելիություն՝ OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();
static-ի օգտագործումը օգնում է utility դասեր ստեղծել, ընդհանուր տվյալներ պահել և կարգավորել վիճակը դասի մակարդակով։