En tu pregunta original, no hay ninguna diferencia entre toString() y getName(), ambos devuelven el atributo name de la clase. En el ejemplo que pones, el this. es opcional, lo pongas o no, se referencia a name de la clase.
Si hubiera otra variable name accesible a los métodos, entonces igual sí es necesario poner this para distiguiir cual quieres usar. Por ejemplo, en un setter, puedes poner
Código:
public class UnaClase {
...
private String name;
...
public void setName (String name) {
this.name = name;
}
}
Hay dos name accesibles, el atributo de la clase y la varialble del parámetro. La variable del parámetro "oculta" a la de la clase, por lo que poner sólo name, referencia a la del parámetro. Si quieres usar el atributo de la clase, aquí sí es obligatorio usar this.name, porque si no, referenciarias al parámetro.
No hay variables globales en java, así que name a secas no referencia a una variable global.
Se bueno.