Muitas vezes pensamos no objeto this como opcional, ou seja, meramente documentacional, mas saiba que em determinadas ocasiões ele é obrigatório, veja o exemplo:
01: class Point2D { 02: private int x, y; 03: public Point2D(int x, int y) { 04: x = x; 05: } 06: public String toString() { 07: return "[" + x + ", " + y + "]"; 08: } 09: public static void main(String []args) { 10: Point2D point = new Point2D(10, 20); 11: System.out.println(point); 12: } 13: }
Qual o resultado deste código:
- point
- Point
- [0, 0]
- [10, 0]
- [10, 20]
Se marcou a opção 4 errou pois a resposta correta é a opção 3. O motivo está na linha 04 no qual obrigatoriamente é necessário o uso do objeto this para referirmo-nos a variável x da classe. Então a próxima vez que criar um método set tome o máximo de cuidado e insira o this.