Unterschied Zwischen Instanzvariable Und Lokaler Variable

Unterschied Zwischen Instanzvariable Und Lokaler Variable
Unterschied Zwischen Instanzvariable Und Lokaler Variable

Video: Unterschied Zwischen Instanzvariable Und Lokaler Variable

Video: Unterschied Zwischen Instanzvariable Und Lokaler Variable
Video: Instanzvariablen, Klassenvariablen und Konstruktor 2024, April
Anonim

Instanzvariable vs lokale Variable

Eine Instanzvariable ist ein Variablentyp, der in der objektorientierten Programmierung vorhanden ist. Es ist eine Variable, die in einer Klasse definiert ist, und jedes Objekt dieser Klasse enthält eine separate Kopie dieser Variablen. Andererseits ist die Verwendung lokaler Variablen nicht auf objektorientierte Programmiersprachen beschränkt. Es ist eine Variable, die nur innerhalb eines bestimmten Codeblocks (z. B. Funktion, Schleifenblock usw.) bewertet werden kann, in dem sie definiert ist. Aus diesem Grund sollen lokale Variablen einen lokalen Bereich haben.

Was ist eine Instanzvariable?

Instanzvariablen werden in der objektorientierten Programmierung zum Speichern des Status jedes Objekts in einer Klasse verwendet. Sie werden auch als Elementvariablen oder Feldvariablen bezeichnet. Instanzvariablen werden ohne Verwendung des statischen Schlüsselworts in Java deklariert. Die in Instanzvariablen gespeicherten Werte sind für jedes Objekt eindeutig (jedes Objekt verfügt über eine separate Kopie), und die darin gespeicherten Werte repräsentieren den Status dieses Objekts. Der Speicherplatz für eine Instanzvariable wird im Heap zugewiesen, wenn dieses Objekt im Heap zugewiesen wird. Daher bleiben Instanzvariablen im Speicher, solange das Objekt aktiv ist. Beispielsweise ist die Farbe eines Autos unabhängig von der Farbe eines anderen Autos. So kann die Farbe eines Autoobjekts in einer Instanzvariablen gespeichert werden. In der Praxis werden Instanzvariablen innerhalb von Klassen und außerhalb von Methoden deklariert. In der Regel,Instanzvariablen werden als privat deklariert, sodass nur innerhalb der deklarierten Klasse auf sie zugegriffen werden kann.

Was ist eine lokale Variable?

Lokale Variablen sind Variablen mit einem lokalen Gültigkeitsbereich und werden innerhalb eines bestimmten Codeblocks deklariert. Lokale Variablen können als Variablen angesehen werden, die von einer Methode zum Speichern ihres temporären Status verwendet werden. Der Umfang einer lokalen Variablen wird anhand des Speicherorts bestimmt, an dem die Variable deklariert ist, und spezielle Schlüsselwörter werden für diesen Zweck nicht verwendet. Normalerweise ist der Zugriff auf eine lokale Variable innerhalb des deklarierten Codeblocks beschränkt (dh zwischen den öffnenden und schließenden Klammern dieses Codeblocks). Lokale Variablen werden normalerweise im Aufrufstapel gespeichert. Dies würde es rekursiven Funktionsaufrufen ermöglichen, ihre eigenen Kopien der lokalen Variablen zu verwalten, um sie in separaten Speicheradressräumen zu speichern. Wenn die Ausführung der Methode abgeschlossen ist, werden Informationen zu dieser Methode aus dem Aufrufstapel entfernt, wodurch auch die gespeicherten lokalen Variablen zerstört werden.

Was ist der Unterschied zwischen Instanzvariable und lokaler Variable?

Instanzvariablen werden innerhalb von Klassen außerhalb von Methoden deklariert und speichern den Status eines Objekts, während lokale Variablen innerhalb von Codeblöcken deklariert werden und zum Speichern des Status einer Methode verwendet werden. Eine Instanzvariable ist aktiv, solange das Objekt, das diese Variable enthält, aktiv ist, während eine lokale Variable während der Ausführung dieses Methoden- / Codeblocks aktiv ist. Auf eine Instanzvariable (die als öffentlich deklariert ist) kann innerhalb der Klasse zugegriffen werden, während auf eine lokale Variable nur innerhalb des deklarierten Codeblocks zugegriffen werden kann. Die Verwendung von Instanzvariablen ist nur auf die objektorientierte Programmierung beschränkt, während lokale Variablen keine solche Einschränkung aufweisen.

Empfohlen: