1. Lokale variabelen
Laten we het wat serieuzer hebben over variabelen. Maar deze keer gaan we niet in op hun interne structuur. In plaats daarvan richten we ons op hoe variabelen omgaan met de code waar ze zich bevinden.
Alle variabelen die binnen methoden worden gedeclareerd, worden lokale variabelen genoemd . Een lokale variabele bestaat alleen in het codeblok waarin deze is gedeclareerd. Of, om preciezer te zijn, het bestaat vanaf het moment dat het wordt gedeclareerd tot het einde van het codeblok waarin het wordt gedeclareerd.
Laten we voor de eenvoud een voorbeeld bekijken:
Code | Variabele zichtbaarheid |
---|---|
|
|
Laten we het nog een keer hebben over toegang tot lokale variabelen. Hier is een codeblok bestaande uit accolades: dit kan een methodebody zijn, de body van een lus of gewoon een codeblok voor een voorwaardelijke instructie. Een variabele die in een codeblok is gedeclareerd, bestaat tot het einde van dat codeblok.
Als een variabele in de body van de lus wordt gedeclareerd, bestaat deze alleen in de body van de lus. Het wordt gemaakt en vernietigd bij elke iteratie van de lus.
Voorbeeld:
Code | Variabele zichtbaarheid |
---|---|
|
|
We konden een tweede lokale variabele declareren, b
alleen genoemd omdat de eerste b
variabele niet zichtbaar is in het codeblok waarin de tweede b
variabele is gedeclareerd.
2. Parameters
Zoals we al eerder zeiden, kan elke methode variabelen hebben die we parameters noemen. Hoe zit het met hun zichtbaarheid en levensduur?
Het is allemaal eenvoudig. Parameters worden gemaakt wanneer de uitvoering in de methode stapt (dwz wanneer de code van de methode wordt uitgevoerd). Ze worden geëlimineerd wanneer de methode eindigt. Ze zijn zichtbaar in het hele lichaam van de methode.
Voorbeeld:
Code | Variabele zichtbaarheid |
---|---|
|
|
Zoals we eerder zeiden, args
is het slechts een variabele waarvan het type een reeks strings is. En zoals alle parameters is het overal in de body van de methode beschikbaar. Dat gezegd hebbende, negeren we het meestal in onze voorbeelden.
3. Variabelen in een klasse
U herinnert zich uit de lessen in niveau 1 dat een klas methoden en variabelen kan hebben. Methoden worden soms instantiemethoden genoemd, en variabelen — instantievariabelen of velden. Dit zijn eigenlijk synoniemen in Java.
Wat zijn de variabelen (of velden) van een klasse?
Het zijn variabelen die niet in een methode worden gedeclareerd, maar in een klasse.
Ze zijn toegankelijk via elke (niet-statische) methode van een klasse. Ruwweg zijn instantievariabelen variabelen die worden gedeeld door alle methoden van een klasse.
Voorbeeld:
Code | Variabele zichtbaarheid |
---|---|
|
|
In dit voorbeeld hebben we twee methoden — add()
en remove()
. De add()
methode verhoogt de instantievariabelen sum
en en de methode verlaagt de variabelen en . Beide methoden werken op gedeelde instantievariabelen.count
remove()
sum
count
Lokale variabelen bestaan terwijl een methode wordt uitgevoerd. De instantievariabelen van een klasse bestaan binnen een object van een klasse zolang dat object bestaat. Op het volgende niveau leer je details over objecten van een klasse.
4. Statische variabelen
Net als methoden kunnen de variabelen in een klasse statisch of niet-statisch zijn. Statische methoden hebben alleen toegang tot statische variabelen.
In niveau 11 analyseren we de structuur van statische variabelen en methoden en begrijpt u de redenen voor deze beperkingen.
Om een statische variabele (klassevariabele) te maken, moet u het static
trefwoord in de declaratie schrijven.
Statische variabelen zijn niet gebonden aan een object of instantie van de klasse waarin ze zijn gedeclareerd. In plaats daarvan behoren ze tot de klasse zelf. Dat is waarom ze bestaan, zelfs als er geen enkel object van de klasse is gemaakt . Je kunt ernaar verwijzen vanuit andere klassen met behulp van een constructie zoals:
ClassName.variableName
Voorbeeld:
Code | Variabele zichtbaarheid |
---|---|
|
|
In het bovenstaande voorbeeld hebben we een aparte Storage
klasse gemaakt, de variabelen erin verplaatst count
en sum
ze statisch verklaard . Openbare statische variabelen zijn toegankelijk via elke methode in een programma (en niet alleen via een methode).
GO TO FULL VERSION