En Java, le mot-clé "final" est utilisé pour déclarer des variables avec des valeurs immuables. Cependant, vous pouvez rencontrer des scénarios dans lesquels vous pouvez toujours modifier un objet affecté à une variable finale. Ce comportement nécessite une compréhension plus approfondie des fonctionnalités de final.
Variables d'instance :
Variables statiques :
Considérez le code suivant :
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 a introduit le concept de variables « effectivement finales ». Ce sont des variables locales qui sont effectivement immuables au sein de classes imbriquées ou de classes internes anonymes. Bien qu'ils n'utilisent pas le mot-clé « final », ils ne peuvent pas être réaffectés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!