Ce mot-clé est un concept qui, je pense, est très difficile à comprendre en Java. :) Peut-être que c'est parce que c'est trop stupide
La signification de ce mot-clé: une poignée correspondante peut être générée pour l'objet dont la méthode est appelée.
Comment comprenez-vous ce passage?
Il y a un tel exemple dans la pensée à Java
Il y a deux objets du même type, appelés A et B, respectivement. Alors, comment faire la distinction entre qui appelle cette méthode lors de l'appel de la méthode f ()?
Par exemple:
classe banane {void f (int i) {/ *** Méthode Body ***** /}} banana a = new banana (); // générer un objet banane abanana b = new banana (); // générer un objet banane ba.f (1); bf (2);Alors, comment le compilateur sait-il quelle fonction f () de l'objet que vous appelez? En fait, la téléportation en coulisses devrait être:
af (1) << ==== >> banana.f (a, 1); bf (1) << ==== >> banana.f (b, 2);
Je le comprends comme: lors de la génération d'un objet banane a. Lors de l'appel d'une méthode f () de A, une poignée pointant vers cet objet sera générée en même temps.
Voici cet objet pointant New Banana () ou cela équivaut à gérer A; Ce "==" a;
Lorsque nous sommes à l'intérieur d'une méthode. Et nous espérons obtenir la poignée de l'objet actuel. Étant donné que cette poignée est secrètement transmise par le compilateur, il n'y a pas de symbole clair pour l'identifier. Pour le moment, nous pouvons utiliser le mot-clé
La signification commune de ceci: peu importe quel objet généré appelle cette méthode, un pointeur vers cet objet sera généré.
Exemples classiques en pensée en Java:
classe publique Leaf {private int i = 0; feuille incrément () {i ++; return this;} void print () {systMe.out.println ("i =" + i); public static void main (string [] args) {leaf x = new leaf (); x.increment (). incrément (). incrément ().1. Générez la poignée x d'un objet; Le format de syntaxe est la feuille x;
2. Générer un objet de classe de feuilles; Le format de syntaxe est New Leaf ();
3. Établir une connexion entre la poignée et l'objet; La syntaxe est x = new leaf ();
4. Appelez la méthode incrément () dans l'objet new Leaf (); La syntaxe est x.increment ()
× × qui a appelé la méthode incrément ()? Il s'agit d'un objet x (ou new leaf ()) de la classe des feuilles, donc le système correspondant générera une référence ceci et le pointer secrètement vers X ou New Leaf () objet, donc incrément () renvoie une référence à x! C'est une adresse mémoire. Nous pouvons l'imprimer et le voir!
Le contenu ci-dessus est la connaissance de ce mot-clé de Java présenté par l'éditeur. J'espère que cela vous sera utile!