As palavras reservadas super e this são referências que podem ser usadas dentro da classe para acessar métodos, atributos e construtores da classe ancestral (super) ou da própria classe (this). As duas palavras só podem ser usadas dentro dos métodos e construtores das classes.

this é uma referência à própria classe. Pode ser usada para chamar um construtor dentro de outro construtor (quando a classe tem mais de um) ou para fazer referência a métodos e atributos da própria classe quando existe algum tipo de conflito de nomes. Também serve como uma variável de referência interna à instância em processo (o objeto).

Para acesso de métodos e atributos

Para fazer referência a métodos ou atributos da própria classe a sintaxe é:

this.metodo( <lista de parâmetros> )
ou
this.atributo

Esta forma de fazer referência a atributos e métodos só é necessária quando existe algum conflito de nomes. Uma situação muito comum ocorre em métodos que são feitos para atribuir valores a atributos a partir dos parâmetros recebidos como é o caso dos construtores e setters. Nestes métodos é comum que o nome dos parâmetros seja igual ao nome dos atributos que eles irão inicializar. Isso provoca um conflito de nomes entre o nome dos parâmetros e o nome dos atributos. Pela regra de prioridade do Java, os parâmetros tem preferência sobre os atributos porque são "mais locais". O exemplo abaixo ajuda a entender melhor:
public class Ponto
  protected double x, y;
 
  // Construtor - note o nome dos parametros
  public Ponto(double x, double y) {
     this.x= x;
     this.y= y;
  }
 
  // Setters
  public void setX(double x){
     this.x = x;
  }
 
  public void setY(double y){
     this.y = y;
  }
 
} // classe Ponto
No exemplo acima vamos considerar o método setX, mas o mesmo princípio vale para o construtor e o método setY. O parâmetro x do método setX tem o mesmo nome que o atributo x da classe, portanto há um conflito de nomes. Dentro do método, a preferência é do parâmetro, porque é a declaração mais local, então a única forma de acessar o atributo x dentro do método é usando a referência this.

Para acesso a outros construtores da mesma classe

No caso de uma classe ter mais de um construtor é bastante comum que um construtor aproveite o código de outro construtor na mesma classe. A palavra this pode ser usada para chamar um construtor da classe dentro de outro construtor. Para isso a sintaxe é:

this( <lista de parâmetros> );

A lista de argumentos na chamada deve combinar com a lista de parâmetros do construtor que será chamado. No exemplo abaixo foi acrescentado um copy constructor para a classe que aproveita o código do outro construtor:
public class Ponto
  protected double x, y;
 
  // Construtor parametrizado
  public Ponto(double x, double y) {
     this.x= x;
     this.y= y;
  }
 
  // Copy constructor
  public Ponto(Ponto pt){
    this(pt.x, pt.y); // chama o construtor acima
  }
 
  // Setters
  public void setX(double x){
     this.x = x;
  }
 
  public void setY(double y){
     this.y = y;
  }
 
} // classe Ponto