In Java wird das Schlüsselwort „final“ verwendet, um Variablen mit unveränderlichen Werten zu deklarieren. Es kann jedoch vorkommen, dass Sie ein einer endgültigen Variablen zugewiesenes Objekt dennoch ändern können. Dieses Verhalten erfordert ein tieferes Verständnis der Funktionalität von final.
Instanzvariablen:
Statische Variablen:
Betrachten Sie den folgenden Code:
import java.util.ArrayList; import java.util.List; class Test { private final List foo; public Test() { foo = new ArrayList(); foo.add("foo"); // Modification-1 } public static void main(String[] args) { Test t = new Test(); t.foo.add("bar"); // Modification-2 System.out.println("print - " + t.foo); } }
Java 1.8 führte das Konzept der „effektiv endgültigen“ Variablen ein. Hierbei handelt es sich um lokale Variablen, die innerhalb verschachtelter Klassen oder anonymer innerer Klassen praktisch unveränderlich sind. Obwohl sie nicht das Schlüsselwort „final“ verwenden, können sie nicht neu zugewiesen werden.
Das obige ist der detaillierte Inhalt vonWie wirkt sich das Schlüsselwort „final' von Java auf die Objektänderung aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!