esta palabra clave en Java y en PHP

Hoy comencé a trabajar en una pequeña aplicación de Java. Tengo cierta experiencia con PHP OOP y, en general, el principio es el mismo. Aunque pensé que debería aplicarse en ambos sentidos.

Pero, por ejemplo, la palabra clave se usa de manera diferente, según tengo entendido. En Java

 class Params { public int x; public int y; public Params( int x, int y ) { this.x = x; this.y = y; } public void display() { System.out.println( "x = " + x ); System.out.println( "y = " + y ); } } public class Main { public static void main( String[] args ) { Params param = new Params( 4, 5 ); param.display(); } } 

Al mismo tiempo en PHP es necesario hacer lo mismo

 x = $x; $this->y = $y; } public void display() { echo "x = " . $this->x . "\n"; echo "y = " . $this->y . "\n"; } } class Main { public function __construct() { $param = new Params( 4, 5 ); $param->display(); } } $main = new Main(); ?> 

Solo me gustaría preguntar si existen otras diferencias en this palabra clave.

Como veo, en Java se usa para devolver la instancia del objeto modificado y si paso un argumento con el mismo nombre, como atributo en la clase. Luego, para asignar valor, necesito mostrar claramente qué es argumento y qué es atributo de clase. Por ejemplo, como se muestra arriba: this.x = x;

En Java no siempre es necesario decir ‘esto’. Java lo resolverá. La única situación en la que necesita decir esto es cuando la variable local tiene el mismo nombre que la variable de instancia, en cuyo caso Java usará la variable local si no lo dice.var

Pero aún puede decir esto.var incluso cuando no es necesario en Java si lo hace entender mejor el código.

Sí, la palabra clave “this” en php funciona igual que en java y no hay otra diferencia

Java y PHP son diferentes en la forma en que manejan esta palabra clave.

Lea esta pregunta y respuesta , y explica algún comportamiento extraño de esta palabra clave en PHP.