1. Lokale variabler
La oss snakke mer seriøst om variabler. Men denne gangen skal vi ikke diskutere deres interne struktur. I stedet vil vi fokusere på hvordan variabler samhandler med koden der de er plassert.
Alle variabler som er deklarert inne i metoder kalles lokale variabler . En lokal variabel eksisterer bare i kodeblokken den er deklarert i. Eller, for å være mer presis, den eksisterer fra øyeblikket den er deklarert til slutten av kodeblokken der den er deklarert.
For enkelhets skyld, la oss vurdere et eksempel:
Kode | Variabel synlighet |
---|---|
|
|
La oss snakke om å få tilgang til lokale variabler en gang til. Her er en kodeblokk som består av krøllete klammeparenteser: dette kan være en metodetekst, kroppen til en løkke, eller bare en kodeblokk for en betinget setning. En variabel deklarert i en kodeblokk eksisterer til slutten av den kodeblokken.
Hvis en variabel er deklarert i løkkens kropp, vil den bare eksistere i løkkens kropp. Det opprettes og ødelegges ved hver iterasjon av loopen.
Eksempel:
Kode | Variabel synlighet |
---|---|
|
|
Vi var i stand til å deklarere en andre lokal variabel bare navngitt b
fordi den første b
variabelen ikke er synlig i kodeblokken der den andre b
variabelen er deklarert.
2. Parametre
Som vi sa før, kan hver metode ha variabler som vi kaller parametere. Hva med deres synlighet og levetid?
Det hele er enkelt. Parametere opprettes når kjøringen går inn i metoden (dvs. når koden til metoden begynner å utføres). De elimineres når metoden avsluttes. De er synlige i hele metoden.
Eksempel:
Kode | Variabel synlighet |
---|---|
|
|
Som vi sa tidligere, args
er det bare en variabel hvis type er en rekke strenger. Og som alle parametere, er den tilgjengelig overalt i hoveddelen av metoden. Når det er sagt, ignorerer vi det vanligvis i eksemplene våre.
3. Variabler i en klasse
Du vil huske fra leksjonene på nivå 1 at en klasse kan ha metoder og variabler. Metoder kalles noen ganger forekomstmetoder, og variabler - forekomstvariabler eller felt. Dette er faktisk synonymer i Java.
Hva er variablene (eller feltene) i en klasse?
De er variabler som ikke er deklarert i en metode, men i en klasse.
De kan nås fra enhver (ikke-statisk) metode i en klasse. Grovt sett er instansvariabler variabler som deles av alle metodene i en klasse.
Eksempel:
Kode | Variabel synlighet |
---|---|
|
|
I dette eksemplet har vi to metoder - add()
og remove()
. Metoden add()
øker variablene sum
og count
forekomst, og remove()
metoden reduserer variablene sum
og count
. Begge metodene fungerer på delte forekomstvariabler.
Lokale variabler eksisterer mens en metode kjøres. Forekomstvariablene til en klasse eksisterer i et objekt i en klasse så lenge det objektet eksisterer. Du vil lære detaljer om objekter i en klasse på neste nivå.
4. Statiske variabler
I likhet med metoder kan variablene i en klasse være statiske eller ikke-statiske. Statiske metoder kan bare få tilgang til statiske variabler.
På nivå 11 vil vi analysere strukturen til statiske variabler og metoder, og du vil forstå årsakene til disse begrensningene.
For å lage en statisk variabel (klassevariabel), må du skrive nøkkelordet static
i deklarasjonen.
Statiske variabler er ikke bundet til et objekt eller forekomst av klassen de er deklarert i. I stedet tilhører de klassen selv. Det er derfor de eksisterer selv om ikke et eneste objekt i klassen er opprettet . Du kan referere til dem fra andre klasser ved å bruke en konstruksjon som:
ClassName.variableName
Eksempel:
Kode | Variabel synlighet |
---|---|
|
|
I eksemplet ovenfor opprettet vi en egen Storage
klasse, flyttet variablene count
og sum
inn i den og erklærte dem statiske . Offentlige statiske variabler kan nås fra hvilken som helst metode i et program (og ikke bare fra en metode).
GO TO FULL VERSION