El uso de "esto" en Java

Si escribo la siguiente clase:

public class Example {

      int j;
      int k;

      public Example(int j, int k) {
           j = j;
           k = k;
      }

      public static void main(String[] args) {
           Example exm = new Example(1,2);
           System.out.println(exm.j);
           System.out.println(exm.k);
      }

}

El programa se compila, pero cuando ejecuto el programa, el método principal imprimirá dos ceros. Sé que para decir que quiero inicializar las variables de instancia en el constructor, tengo que escribir:

this.j = j;
this.k = k;

Pero si no lo escribo, ¿qué variable se evalúa (o considera) en el constructor (a la izquierda y en el lado de escritura de las expresiones)? ¿Es el argumento o la instancia variable? ¿Hace alguna diferencia

¿Hay otros casos en los que el uso dethis es obligatorio?

Respuestas a la pregunta(13)

Su respuesta a la pregunta