Sobes.tech
Junior — Middle

Wat is het verschil tussen de velden van een klasse en lokale variabelen binnen methoden in Java?

sobes.tech AI

Antwoord van AI

De klassevelden (instantievariabelen of statische velden) en lokale variabelen binnen methoden in Java verschillen in scope, levensduur en opslagplaats:

  • Klassevelden:

    • Worden gedeclareerd binnen de klasse, maar buiten methoden.
    • Worden opgeslagen in het object (als ze niet statisch zijn) of in het gebied van de klasse (als ze statisch zijn).
    • Behouden hun waarde tussen methodenaanroepen.
    • Zijn toegankelijk vanuit verschillende methoden van de klasse (afhankelijk van het toegangsniveau).
  • Lokale variabelen:

    • Worden gedeclareerd binnen een methode.
    • Bestaan alleen tijdens de uitvoering van de methode.
    • Worden opgeslagen in de call stack.
    • Zijn niet toegankelijk buiten de methode waarin ze zijn gedeclareerd.

Voorbeeld:

public class Example {
    int field = 10; // klasseveld

    public void method() {
        int localVar = 5; // lokale variabele
        System.out.println(field + localVar);
    }
}

Hier bewaart field de toestand van het object, terwijl localVar alleen bestaat tijdens de uitvoering van de method.