Esta palabra clave es un concepto que creo que es muy difícil de entender en Java. :) Tal vez sea porque es demasiado estúpido
El significado de esta palabra clave: se puede generar un mango correspondiente para el objeto cuyo método se llama.
¿Cómo entiendes este pasaje?
Hay tal ejemplo de pensar en Java
Hay dos objetos del mismo tipo, llamados A y B, respectivamente. Entonces, ¿cómo distinguimos entre quién llama a este método al llamar al método f ()?
Por ejemplo:
Class Banana {void f (int i) {/*** Método Cuerpo *****/}} Banana a = nuevo banana (); // Generar objeto de plátano abanana b = new Banana (); // Generar objeto Banana ba.f (1); bf (2);Entonces, ¿cómo sabe el compilador qué función de objeto f () está llamando? De hecho, la teletransportación detrás de escena debería ser:
AF (1) << ==== >> banana.f (a, 1); bf (1) << ==== >> banana.f (b, 2);
Lo entiendo como: al generar un objeto de plátano a. Al llamar a un método f () de A, se generará un mango que apunte a este objeto al mismo tiempo.
Aquí está este objeto apuntante nuevo plátano () o esto es equivalente a manejar a; esto "==" a;
Cuando estamos dentro de un método. Y esperamos conseguir el mango del objeto actual. Dado que este mango es aprobado en secreto por el compilador, no hay un símbolo claro para identificarlo. En este momento, podemos usar la palabra clave esto
El significado común de esto: no importa qué objeto generado llame a este método, se generará un puntero a este objeto.
Ejemplos clásicos de pensamiento en Java:
Public Class Leaf {private int i = 0; hoja increment () {i ++; return this;} void print () {systme.out.println ("i ="+i); public static void main (string [] args) {Leaf x = new Leaf (); x.increment (). increment (). increment (). increment ();}}}}}}}}}}}}}}}}}1. Genere el mango x de un objeto; El formato de sintaxis es la hoja X;
2. Generar un objeto de clase de hoja; El formato de sintaxis es New Leaf ();
3. Establecer una conexión entre el mango y el objeto; La sintaxis es x = nueva hoja ();
4. Llame al método incremento () en el objeto New Leaf (); La sintaxis es x.increment ()
× elegante ¿Quién llamó al método incremento ()? Es un objeto x (o nueva hoja ()) de la clase de hoja, por lo que el sistema correspondiente generará una referencia esto y lo señalará secretamente a x o nuevo objeto de hoja (), por lo que increment () devuelve una referencia a x! Es una dirección de memoria. ¡Podemos imprimirlo y verlo!
El contenido anterior es el conocimiento de esta palabra clave en Java presentada por el editor. ¡Espero que te sea útil!