Anuncios

Bienvenidos sean a este post, hoy veremos los distintos tipos de variables.

Anuncios

Como dijimos anteriormente las variables son almacenamiento nombrados para contener informacion para ser utilizado por nuestro app pero tambien como dijimos en el post anterior cuando creamos una variable el programa reserva un espacio de memoria para almacenar dicha informacion ahora veamos los tres tipos disponibles:

  • Local
  • Instancia
  • Clase/Estatica
Anuncios

Pasemos a detallar los tres tipos disponibles:

Local

  • Son las declaradas en un metodo, constructor o un bloque
  • Estas variables son creadas cuando se inicia cualquiera de los metodos antes mencionados y tambien se destruye cuando se sale del metodo creador
  • Los modificadores de acceso no pueden ser utilizados con variables locales
  • Estas variables solo pueden ser utilizadas por el metodo, constructor o bloque creador
  • Estan implementadas a la pila de memoria directamente
  • No tienen un valor por defecto, si necesitas que tenga este tipo de valor debes asignarselo al momento de declararla
Anuncios

Veamos un ejemplo:

public class Test 
{         
	public void pupAge()         
	{         
		int age = 0;         
		age = age + 7;         
		System.out.println("Puppy age is: " + age);
	}         

	public static void main(String args[])
	{         
		Test test = new Test();
		test.pupAge();         
	} 
}
Anuncios

Si compilan el codigo, obtendran el siguiente resultado:

tinchicus@dbn001vrt:~/java/program$ java Test 
Puppy age is: 7
tinchicus@dbn001vrt:~/java/program$

Como pueden ver se inicializa la variable age en el metodo pupAge(), se le suma un valor y luego por ultimo se imprime un mensaje, ahora pasemos al siguiente tipo de variables.

Anuncios

Instancias

  • Este tipo de variables se declaran en un clase pero por fuera de un constructor, bloque o metodo
  • Cuando se crea un objeto, se crea un espacio en la memoria para el objeto y para la instancia
  • Estas se crean cuando se crea un objeto con la palabra new y se destruyen cuando se destruye al objeto
  • Este tipo de variables deben tener valores referenciados para mas de un metodo, constructor o bloque
  • Solo pueden ser declaradas en la clase, antes o despues de su uso
  • Modificadores de acceso pueden ser usado como este tipo de variables
  • Este tipo de variables son visibles para todos los metodos, bloques o constructores, lo mas recomendable es declararlas como privado (nivel de acceso)
  • Tienen valores por defecto, numeros es cero, booleano es false y objeto de referencia es null.
  • Este tipo de variables pueden ser llamadas directamente por medio del metodo invocador, por ejemplo: Objeto.variable;
Anuncios

Veamos un ejemplo para comprender un poco mejor:

import java.io.*;

public class Employee
{
	public String nombre;
	private double salario;

	public Employee(String empName) 
	{
		nombre = empName;
	}

	public void setSalary(double empSal) 
	{
		salario = empSal;
	}

	public void printEmp()
	{                 
		System.out.println("Nombre: " + nombre);                 
		System.out.println("Salario: " + salario);         
	}

	public static void main(String args[])
	{                 
		Employee empOne = new Employee("Martin");                 
		empOne.setSalary(1000);                 
		empOne.printEmp();         
	} 
} 
Anuncios

Como pueden ver en esta clase, tenemos un constructor que se encargara de recibir un valor para asignar el nombre, y dos metodos: uno para asignar el salario y otro para mostrar los dos datos, el nombre y el salario, como pueden ver los objetos y la variables de instancia es lo que hemos trabajado hasta ahora, veamos la salida:

tinchicus@dbn001vrt:~/java/program$ java Employee 
Nombre: Martin
Salario: 1000.0
tinchicus@dbn001vrt:~/java/program$

Ahora pasemos a la ultima clase de variables

Anuncios

Clase/Estatica

  • Estas son llamadas static o class, las mismas se declaran dentro de la clase con la palabra static adelante pero fuera de constructor, metodo o bloque
  • Solo habra un tipo de copia de este tipo de variables por clase, mas alla de cuantos objetos son creados de la clase
  • Este tipo de variables son declaradas como constantes y rara vez de otra forma
  • Estas variables son declaradas en una memoria estatica
  • Son creadas cuando se inicia el programa y destruidas cuando se cierra el programa
  • La visibilidad esta determinada por el tipo de acceso, las publicas son para ser accedidas por todos los usuarios.
  • Tienen valores por defecto, iguales a los visto en las variables instancias
  • Este tipo de variables pueden ser accedidas por el nombre de la clase, por ejemplo: ClaseNombre.variableNombre;
  • Una buena practica es declarar este tipo de variables en mayusculas, a diferencias de las locales que se hacen en minusculas.
Anuncios

Veamos un ejemplo:

import java.io.*; 

public class Employee 
{
	private static double salary;
	public static String DEPARTAMENTO = "Desarrollo ";

	public static void main(String args[])
	{
	salary = 1000;
	System.out.println(DEPARTAMENTO + "el sueldo promedio es " 
							+ salary);
	} 
} 
Anuncios

Como pueden ver declaramos dos tipos de variables static, una capaz de almacenar informacion y otra de valor constante, fijense como las diferenciamos, luego en el cuerpo de main() a la variable (salary) le asignamos un valor y en cambio a la constante (DEPARTAMENTO) la llamamos directamente, si ejecutamos nuestra aplicacion nos dara la siguiente salida:

tinchicus@dbn001vrt:~/java/program$ java Employee
Desarrollo el sueldo promedio es 1000.0
tinchicus@dbn001vrt:~/java/program$
Anuncios

En este caso funciono directo por estar en la misma clase pero en caso de ser llamado por fuera de la misma se deberia haber utilizado: Employee.DEPARTAMENTO.

Anuncios

En resumen, hoy vimos mas a fondo tres tipos de variables disponibles para trabajar con nuestros programas, las diferencias entre las mismas, algunos ejemplos para aplicarlos, para que son utilizados y esto sentara una base para nuestros futuros programas, espero les haya gustado, sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

$1.00