Para hacer referencia a los atributos o métodos de una clase desde un método de la misma clase, se puede hacer utilizando la palabra this.

Se suele utilizar cuando existe ambigüedad entre nombres de parámetros y atributos del objeto, y para hacer llamadas a métodos dentro de la misma clase.

Ejemplo de utilización de this para diferenciar el nombre de los atributos de la clase con el nombre de los parámetros del método:

String grupo;
String horario;
 
public void ponGrupoYHorario(String grupo, String horario) {
      this.grupo = grupo;
      this.horario = horario;
}

Como se ha comentado, también se puede utilizar para hacer llamadas a métodos que se encuentren declarados en la misma clase. Por ejemplo, si en la clase Alumno se tuviera un método denominado compruebaDatos, se puede hacer una llamada a dicho método utilizando la referencia al objeto genérico this.

public void compruebaDatos() {
    ...
}
 
public void ponGrupoYHorario(String grupo, String horario) {
    this.grupo = grupo;
    this.horario = horario;
    this.compruebaDatos();
}

Normalmente, para hacer una llamada a un método se debe anteponer un objeto de la misma clase que el método, o bien el nombre de la clase cuando es un método estático. Pero si el método se encuentra declarado en la misma clase, no se dispone de un objeto para utilizarlo en la llamada al método. Por ello, se utiliza la referencia this

Aunque también es muy frecuente no indicar ningún objeto en las llamadas a métodos de la misma clase. El ejemplo anterior se puede realizar también sin utilizar this en la llamada al método, si no indicando directamente el nombre del método con los parámetros correspondientes.

public void compruebaDatos() {
    ...
}
 
public void ponGrupoYHorario(String grupo, String horario) {
    this.grupo = grupo;
    this.horario = horario;
    compruebaDatos();
}