Variable this en Java

Hola a todos, hoy os explicare que es la variable this y como se utiliza en una clase de Java.

La variable this se usa para diferenciar un atributo de una variable normal y corriente dentro de una clase. Veamos un ejemplo de un trozo de una clase:

//Constructores
         /**
	 * Constructor por defecto
	 */
	public Empleado(){
		this.nombre="";
		this.apellido="";
		this.edad=0;
		this.salario=0;
	}
         /**
	 * Constructor con 4 parametros
	 * @param nombre nombre del empleado
	 * @param apellido nombre del empleado
	 * @param edad edad del empleado
	 * @param salario salario del empleado
	 */
        public Empleado(String nombre, String apellido, int edad, double salario){
		this.nombre=nombre;
		this.apellido=apellido;
		this.edad=edad;
		this.salario=salario;
	}

Como vemos,  los atributos deben diferenciarse de las variables que pasamos como parámetros.

También se usa para invocar métodos de una propia clase dentro de esta. Otro uso es invocar otro constructor pasandole como parámetro, los parámetros del propio constructor. Veamos un ejemplo, de este ultimo uso:

//Constructores
         /**
	 * Constructor por defecto
	 */
	public Empleado(){
		this ("", "", 0, 0);
	}

         /**
	 * Constructor con 4 parametros
	 * @param nombre nombre del empleado
	 * @param apellido nombre del empleado
	 * @param edad edad del empleado
	 * @param salario salario del empleado
	 */
	public Empleado(String nombre, String apellido, int edad, double salario){
		this.nombre=nombre;
		this.apellido=apellido;
		this.edad=edad;
		this.salario=salario;
	}

Como vemos, es como si llamáramos al constructor que tiene esos parámetros con esos tipos de datos.

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Etiquetas

4 comments

  1. Interesante para ir aprendiendo.Gracias.

  2. Tengo duda, los atributos donde se declaran? en la clase?

  3. Si

  4. Hola amigo una pregunta, el profesor de mi clase dijo que cuando se crea el objeto de la clase
    Empleado empleado1 = new Empleado(); el empleado que sigue después de new lo nombro como un constructor, yo se que un constructor es un método especial y trata por aparte entonce por que lo nombre de esta manera gracias men

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *