In JAVA beschreiben wir Variablen durch drei Elemente: Variablentyp, Variablenname und Variablenwert.
String love="imooc";spezifischer Wert).
love="I love imooc";Die Variable wird neu zugewiesen und zeigt auf ein neues Objekt, wobei der Objektwert „i love imooc“ ist.
Variablen werden in Klassenvariablen (statische Variablen), Instanzvariablen und lokale Variablen (lokale Variablen) unterteilt.
Lokale Variablen
werden in Methoden, Konstruktoren oder Blöcken verwendet und erstellt, wenn die Methode, der Konstruktor oder der Block eingegeben wird beim Beenden zerstört werdenLokale Variablen haben keinen Standardwert, daher müssen lokale Variablen deklariert und mit einem Wert versehen werden, bevor sie zum ersten Mal verwendet werden
Instanzvariablen:In der Klasse deklariert, aber außerhalb einer Methode, eines Konstruktors oder Blocks, wird der Speicherort jeder Instanzvariablen erstellt, wenn ein Platz für ein Objekt im Heap zugewiesen wird. Instanzvariablen werden erstellt, wenn ein Objekt mit dem Schlüsselwort „new“ erstellt wird, und werden zerstört, wenn das Objekt zerstört wird.
Der Wert einer Instanzvariablen muss von mehr als einer Methode, einem Konstruktor oder einem Block referenziert werden, oder ein wesentlicher Teil des Objektstatus muss in der Klasse erscheinen.
Auf Instanzvariablen kann zugegriffen werden Zugriffsdeskriptoren verwenden
Instanzvariablen haben Standardwerte. Der Standardwert für Zahlen ist 0, der Standardwert für Boolesche Werte ist falsch und der Standardwert für Objektreferenzen ist NULL
Auf Instanzvariablen kann direkt durch Aufrufen von Namen in der Klasse zugegriffen werden. Allerdings sollten in statischen Methoden und in verschiedenen Klassen vollständig qualifizierte Namen verwendet werden. ObjectReference.VariableName
Instanzvariablen sind Variablen, die zu Instanzen einer Klasse gehören, auch Mitgliedsvariablen genannt, und wurden nicht statisch geändert. Instanzvariablen können nur über die Instanz des Klassennamens + Punktoperators + Variable manipuliert werden.
Klassenvariablen:Auch statische Variablen genannt. Sie werden mit dem Schlüsselwort static in der Klasse deklariert, befinden sich jedoch außerhalb der Methode, des Konstruktors oder des Blocks. Jede Klasse hat nur eine Klassenvariable, egal wie viele Objekte die Klasse hat.
Außer der Deklaration als Konstante werden Klassenvariablen selten verwendet. Konstanten sind Variablen, die als öffentlich, privat, endgültig und statisch deklariert sind. Der Anfangswert der Instanzvariablen wird nicht geändert.
Statische Variablen werden selten im statischen Speicher gespeichert, anstatt sie am Ende zu deklarieren oder eine der öffentlichen oder privaten Konstanten zu verwenden.
Statische Variablen beginnen und enden mit dem Start und dem Ende des Programms.
Sichtbarkeit ist ähnlich wie bei Instanzvariablen. Die meisten statischen Variablen werden jedoch als öffentlich deklariert, da sie für Benutzer der Klasse verfügbar sein müssen.
Der Standardwert ähnelt der Instanzvariablen. Darüber hinaus kann er in einem speziellen statischen Initialisierungsbereich zugewiesen werden.
Auf statische Variablen kann mit dem Namen der Klasse ClassName.VariableName zugegriffen werden 🎜>
Wenn eine statische Variable als öffentliches statisches Finale deklariert wird, muss der Name der Variablen (Konstante) in Großbuchstaben angegeben werden. Wenn eine statische Variable nicht öffentlich und endgültig ist, ist ihre Benennungsmethode dieselbe wie bei Instanzvariablen und lokalen Variablen. Klassenvariablen können nicht nur direkt über Klassenname + Punktoperator + Variablenname bedient werden, sondern auch über die Instanz von Klasse + Punktoperator + Variable. In den meisten Fällen wird die erstere Operationsmethode verwendet. Erstens kann die Variable nicht effektiv verwendet werden, und zweitens kann dies darauf hinweisen, dass es sich bei der Variablen um eine Klassenvariable handelt.Das obige ist der detaillierte Inhalt vonWas sind Variablen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!