Junior — Middle
Ի՞նչն է տարբերությունը դասի դաշտերի և մեթոդների ներսում տեղական փոփոխականների միջև Java-ում։
sobes.tech AI
Պատասխան AI-ից
Java-ի դասի դաշտերը (նմուշային փոփոխականները կամ ստատիկ դաշտերը) և մեթոդների ներսում տեղական փոփոխականները տարբեր են տեսանելիության ոլորտով, կյանքի ժամկետով և պահեստավորման վայրով:
-
Դասի դաշտեր:
- Դ declar են դասի ներսում, բայց մեթոդներից դուրս:
- Պահվում են օբյեկտում (եթե չեն ստատիկ) կամ դասի տարածքում (եթե ստատիկ են):
- Պահում են իրենց արժեքը մեթոդների կանչերի միջև:
- Դասի տարբեր մեթոդներից հասանելի են (մուտքի մակարդակից կախված):
-
Տեղական փոփոխականներ:
- Դ declar են մեթոդի ներսում:
- Կան միայն մեթոդի կատարման ժամանակ:
- Պահվում են կանչի տախտակամածում:
- Չեն հասանելի այն մեթոդից դուրս, որտեղ հայտարարվել են:
Օրինակ:
public class Example {
int field = 10; // դասի դաշտ
public void method() {
int localVar = 5; // տեղական փոփոխական
System.out.println(field + localVar);
}
}
Այստեղ field պահում է օբյեկտի վիճակը, իսկ localVar գոյություն ունի միայն method մեթոդի կատարման ժամանակ։