Sobes.tech
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 մեթոդի կատարման ժամանակ։