Variables locales No Inicializadas

En un post anterior les presente una tabla con los tipos de datos primitivos disponibles en Java.

La tabla tenia un valor por default para cada uno de los  diferentes tipos. Esto quiere decir que debemos de poder usar una variable tan pronto como la declaramos, aun si no le hemos asignado un valor explícitamente.

El siguiente ejemplo trata de imprimir una variable loca antes de ser inicializada. De acuerdo a la tabla, debería de imprimir un cero.

public class Example {

	public static void main(String[] args) {
		//crear un instancia de la clase
		Example instance = new Example();
		//llamar método
		instance.print();
	}

	// método
	public void print() {
		//declarar variable local
		int result;
		//causa error, no se puede compilar
		System.out.println(result);
	}
}

El código arriba no puede ser compilado. Arrojara el error: La variable local resultado puede no haber sido inicializada (The local variable resultado may not have been initialized). El compilado de Java espera que inicialicemos las variable local antes de intentar usarla.

Ahora veamos este código. Declaramos la variable como un miembro de la clase en lugar de una variable local al método. Este código es ejecutado correctamente sin tener que inicializar la variable.

public class Example {

	//miembro privado
	private int result;

	public static void main(String[] args) {
		//crear una instancia de la clase
		Example instance = new Example();
		//llamar método
		instance.print();
	}

	//método
	public void print() {
		//imprimirá 0
		System.out.println(result);
	}
}

Por supuesto que no estoy diciendo que hagamos a todas la variables miembros de la clase. Solo asignarle un valor al momento de declararla. Estos ejemplos son solo para comparar el comportamiento del compilador en cada situación.

Recibir Actualizaciones Gratis
Entradas Relacionadas
Comentarios