1. Lokale variabler
Lad os tage en mere seriøs snak om variabler. Men denne gang vil vi ikke diskutere deres interne struktur. I stedet vil vi fokusere på, hvordan variabler interagerer med koden, hvor de er placeret.
Alle variabler, der er erklæret inde i metoder, kaldes lokale variabler . En lokal variabel findes kun i den kodeblok, hvori den er erklæret. Eller, for at være mere præcis, eksisterer den fra det øjeblik, den er deklareret, til slutningen af den kodeblok, hvor den er deklareret.
For nemheds skyld, lad os overveje et eksempel:
Kode | Variabel synlighed |
---|---|
|
|
Lad os tale om at få adgang til lokale variabler en gang til. Her er en kodeblok bestående af krøllede klammeparenteser: dette kan være en metodetekst, en løkkes krop eller bare en kodeblok til en betinget sætning. En variabel erklæret i en kodeblok eksisterer indtil slutningen af denne kodeblok.
Hvis en variabel er erklæret i løkkens krop, vil den kun eksistere i løkkens krop. Det skabes og ødelægges ved hver iteration af løkken.
Eksempel:
Kode | Variabel synlighed |
---|---|
|
|
Vi var i stand til at erklære en anden lokal variabel kun navngivet, b
fordi den første b
variabel ikke er synlig i kodeblokken, hvor den anden b
variabel er erklæret.
2. Parametre
Som vi sagde før, kan hver metode have variabler, som vi kalder parametre. Hvad med deres synlighed og levetid?
Det hele er ligetil. Parametre oprettes, når eksekveringen træder ind i metoden (dvs. når metodens kode begynder at udføre). De elimineres, når metoden slutter. De er synlige i hele metoden.
Eksempel:
Kode | Variabel synlighed |
---|---|
|
|
Som vi sagde tidligere, args
er det bare en variabel, hvis type er en række strenge. Og som alle parametre er den tilgængelig overalt i metodens krop. Når det er sagt, ignorerer vi det normalt i vores eksempler.
3. Variabler i en klasse
Du vil huske fra lektionerne på niveau 1, at en klasse kan have metoder og variabler. Metoder kaldes nogle gange instansmetoder, og variabler - instansvariabler eller felter. Disse er faktisk synonymer i Java.
Hvad er variablerne (eller felterne) i en klasse?
De er variabler, der ikke deklareres i en metode, men i en klasse.
De kan tilgås fra enhver (ikke-statisk) metode i en klasse. Groft sagt er instansvariabler variabler, der deles af alle metoderne i en klasse.
Eksempel:
Kode | Variabel synlighed |
---|---|
|
|
I dette eksempel har vi to metoder - add()
og remove()
. Metoden add()
øger variablerne sum
og count
forekomsten, og remove()
metoden reducerer variablerne sum
og count
. Begge metoder arbejder på delte instansvariabler.
Lokale variabler eksisterer, mens en metode udføres. Forekomstvariablerne for en klasse findes i et objekt i en klasse , så længe det objekt eksisterer. Du lærer detaljer om objekter i en klasse på det næste niveau.
4. Statiske variable
Ligesom metoder kan variablerne i en klasse være statiske eller ikke-statiske. Statiske metoder kan kun få adgang til statiske variabler.
På niveau 11 analyserer vi strukturen af statiske variabler og metoder, og du vil forstå årsagerne til disse begrænsninger.
For at lave en statisk variabel (klassevariabel) skal du skrive nøgleordet static
i dets erklæring.
Statiske variable er ikke bundet til et objekt eller en forekomst af den klasse, hvori de er erklæret. I stedet tilhører de selve klassen. Det er derfor, de eksisterer, selvom der ikke er oprettet et eneste objekt i klassen . Du kan henvise til dem fra andre klasser ved hjælp af en konstruktion som:
ClassName.variableName
Eksempel:
Kode | Variabel synlighed |
---|---|
|
|
I ovenstående eksempel oprettede vi en separat Storage
klasse, flyttede variablerne count
og sum
ind i den og erklærede dem statiske . Offentlige statiske variabler kan tilgås fra enhver metode i et program (og ikke kun fra en metode).
GO TO FULL VERSION