Forskellen Mellem Instansvariabel Og Lokal Variabel

Forskellen Mellem Instansvariabel Og Lokal Variabel
Forskellen Mellem Instansvariabel Og Lokal Variabel

Video: Forskellen Mellem Instansvariabel Og Lokal Variabel

Video: Forskellen Mellem Instansvariabel Og Lokal Variabel
Video: 20-Local, Instance and Static Variables in Java 2024, November
Anonim

Instansvariabel vs lokal variabel

En instansvariabel er en type variabel, der findes i objektorienteret programmering. Det er en variabel, der er defineret i en klasse, og hvert objekt i denne klasse har en separat kopi af den variabel. På den anden side er brugen af lokale variabler ikke begrænset til objektorienterede programmeringssprog. Det er en variabel, der kun kan vurderes inden for en bestemt kodeblok (f.eks. Funktion, loopblok osv.), Hvori den er defineret. Af denne grund siges det, at lokale variabler har et lokalt omfang.

Hvad er en instansvariabel?

Instansvariabler bruges i objektorienteret programmering til lagring af hvert objekts tilstand i en klasse. De er også kendt som medlemsvariabler eller feltvariabler. Forekomstvariabler erklæres uden brug af det statiske nøgleord i Java. De værdier, der er gemt i eksempelvariabler, er unikke for hvert objekt (hvert objekt har en separat kopi), og de værdier, der er gemt i dem, repræsenterer tilstanden for det pågældende objekt. Plads til en instansvariabel tildeles i bunken, når det objekt tildeles i bunken. Derfor opbevares instansvariabler i hukommelsen, så længe objektet er live. For eksempel er farven på en bil uafhængig af farven på en anden bil. Så farven på et bilobjekt kan gemmes i en instansvariabel. I praksis deklareres instansvariabler inden for klasser og eksterne metoder. Som regel,instansvariabler erklæres som private, så de kun kunne få adgang til inden for den klasse, det erklæres.

Hvad er en lokal variabel?

Lokale variabler er variabler, der har et lokalt omfang, og de erklæres inden for en bestemt kodeblok. Lokale variabler kan ses som variabler, der bruges af en metode til at gemme dens midlertidige tilstand. Omfanget af en lokal variabel bestemmes ved hjælp af det sted, hvor variablen erklæres, og specielle nøgleord bruges ikke til dette formål. Adgang til en lokal variabel er typisk begrænset inden for kodeblokken, som den erklæres (dvs. mellem åbnings- og lukningsbøjlerne for den kodeblok). Lokale variabler gemmes typisk i opkaldstakken. Dette gør det muligt for rekursive funktionsopkald at opretholde deres egne kopier af de lokale variabler, der skal gemmes i separate hukommelsesadresserum. Når metoden er færdig med sin udførelse, poppes information om denne metode ud fra opkaldstakken, hvilket også ødelægger de lokale variabler, der blev gemt.

Hvad er forskellen mellem instansvariabel og lokal variabel?

Forekomstvariabler erklæres inden for klasser uden for metoder, og de gemmer et objekts tilstand, mens lokale variabler deklareres inden for kodeblokke, og de bruges til at lagre tilstanden for en metode. En instansvariabel er live, så længe objektet, der indeholder denne variabel, er live, mens en lokal variabel er live under udførelsen af denne metode / kodeblok. Der kan fås adgang til en instansvariabel (der erklæres offentlig) inden for klassen, mens en lokal variabel kun kan tilgås inden for den kodeblok, som den erklæres. Brug af instansvariabler er kun begrænset til objektorienteret programmering, mens lokale variabler ikke har en sådan begrænsning.

Anbefalet: