A una variable final en Java se le puede asignar un valor solo una vez, podemos asignar un valor ya sea en la declaración o más tarde.
final int i = 10; i = 30; // Error because i is final.
Una variable final en blanco en Java es una variable final que no se inicializa durante la declaración. A continuación se muestra un ejemplo simple de final en blanco.
// A simple blank final example final int i; i = 30;
¿Cómo se asignan valores a los miembros finales en blanco de los objetos?
Los valores deben asignarse en el constructor.
// A sample Java program to demonstrate use and // working of blank final class Test { // We can initialize here, but if we // initialize here, then all objects get // the same value. So we use blank final final int i; Test(int x) { // Since we have initialized above, we // must initialize i in constructor. // If we remove this line, we get compiler // error. i = x; } } // Driver Code class Main { public static void main(String args[]) { Test t1 = new Test(10); System.out.println(t1.i); Test t2 = new Test(20); System.out.println(t2.i); } }
Producción:
10 20
Si tenemos más de un constructor o un constructor sobrecargado en la clase, entonces la variable final en blanco debe inicializarse en todos ellos. Sin embargo, se puede usar el enstringmiento de constructores para inicializar la variable final en blanco.
// A Java program to demonstrate that we can // use constructor chaining to initialize // final members class Test { final public int i; Test(int val) { this.i = val; } Test() { // Calling Test(int val) this(10); } public static void main(String[] args) { Test t1 = new Test(); System.out.println(t1.i); Test t2 = new Test(20); System.out.println(t2.i); } }
Producción:
10 20
Las variables finales en blanco se utilizan para crear objetos inmutables (objetos cuyos miembros no se pueden cambiar una vez inicializados).
Este artículo es una contribución de Himanshi Gupta. Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA