Это ключевое слово - концепция, которая, я думаю, очень трудно понять на Java. :) Может быть, это потому, что это слишком глупо
Значение этого ключевого слова: соответствующий дескриптор может быть сгенерирован для объекта, метод которого называется.
Как вы понимаете этот отрывок?
Есть такой пример в мышлении на Java
Есть два объекта того же типа, называемые A и B, соответственно. Итак, как мы можем различать, кто называет этот метод при вызове метода f ()?
Например:
Класс банана {void f (int i) {/*** метод тело *****/}} банановый a = new Banana (); // генерировать банановый объект abanana b = new Banana (); // генерировать банановый объект ba.f (1); bf (2);Итак, как компилятор узнает, какой объект f () функция вы называете? Фактически, закулисная телепортация должна быть:
af (1) << === >> banana.f (a, 1); bf (1) << ==== >> banana.f (b, 2);
Я понимаю это как: при создании бананового объекта а. При вызове метода f () a направленность, указывающая на этот объект, будет генерироваться одновременно.
Вот этот объект для указания New Banana () или это эквивалентно обработке A; это "==" a;
Когда мы находимся внутри метода. И мы надеемся получить ручку текущего объекта. Поскольку эта ручка тайно передается компилятором, нет четкого символа для ее идентификации. В настоящее время мы можем использовать ключевое слово
Общее значение этого: независимо от того, какой сгенерированный объект вызывает этот метод, будет сгенерирован указатель на этот объект.
Классические примеры мышления на Java:
открытый класс Leaf {private int i = 0; Leaf Increment () {i ++; вернуть это;} void print () {systme.out.println ("i ="+i); public static void main (string [] args) {leaf x = new Leaf (); x.increment (). Increment (). Increment ().1. Сгенерировать ручку x объекта; Синтаксический формат - лист x;
2. Сгенерировать объект класса листьев; Синтаксический формат - новый лист ();
3. установить связь между ручкой и объектом; Синтаксис - x = new Leaf ();
4. Вызовите метод Increment () в объекте New Leaf (); Синтаксис - x.increment ()
× × кто назвал метод Increment ()? Это объект x (или новый лист ()) класса листа, поэтому соответствующая система будет генерировать ссылку на это и тайно укажет на это на x или new Leaf () объект, поэтому Increment () возвращает ссылку на x! Это адрес памяти. Мы можем распечатать его и увидеть!
Приведенный выше контент - это знание этого ключевого слова в Java, представленном вам редактором. Я надеюсь, что это будет полезно для вас!