Clases o variables en java sombreadas

Video: Programación Java. Tipos de variables

ensombrecimiento se refiere a la práctica de programación Java de utilizar dos variables con el mismo nombre dentro de los ámbitos que se superponen. Cuando se hace esto, la variable con el ámbito de nivel superior se oculta porque la variable con ámbito de nivel inferior se anula. La variable de nivel superior es entonces “sombra.

Usted puede acceder a una clase de sombra o variable de instancia al calificar plenamente - es decir, proporcionando el nombre de la clase que lo contiene.

Por ejemplo, considere este programa:

public class ShadowApp {void main (String [] args) estáticas int estática x-públicas {x = 5-System.out.println ("x = " + X) -INT x-x = 10-System.out.println ("x = " + X) -System.out.println ("ShadowApp.x = " + ShadowApp.x) -}}

Aquí está la salida:

x = 5x = 10x = 10ShadowApp.x = 5

Video: 7.13 What is Static Keyword in Java | static method and static variable

Aquí, la primera System.out.println declaración imprime el valor de la variable de clase x. Entonces, la variable de clase x está ensombrecida por la variable local x, cuyo valor se imprime por el segundo System.out.println declaración. Por último, la tercera System.out.println declaración imprime la variable de clase ensombrecida por proporcionar su nombre completo (ShadowApp.x).

El ámbito de una variable local que oscurece a una clase variable no comienza necesariamente en el mismo punto que comienza el alcance de la variable local. El sombreado se inicia cuando se declara la variable local, pero el alcance de la variable local no comienza hasta que se inicializa la variable. Si intenta acceder a la variable entre la declaración y la inicialización, el compilador de Java muestra un mensaje de error.

Video: Java Tutorial 4: Hello Methods And Class Variables!

Debido a que el sombreado es una fuente común de errores, se desea evitar el uso tanto como sea posible.

Artículos Relacionados