Это ключевое слово в Java, которое представляет объект. Это может появиться в методах экземпляра и конструкторах, но не в методах класса.
Используйте это в конструкторе
Когда ключевое слово this появляется в конструкторе класса, оно представляет объект, созданный с помощью этого конструктора.
Например:
publicclassPeople{intleg,hand;Stringname;People(Strings){name=s;this.init();//Это можно опустить, то есть записать как init();}voidinit(){leg=2;hand. =2;System .out.println(name+have+hand+hand+1eg+leg);}publicstaticvoidmain(Stringargs[]){Peopleboshi=newPeople(Bush);}}
Использование этого в методах экземпляра
Методы экземпляра можно вызывать только через объект, а не через имя класса. Когда ключевое слово this появляется в методе экземпляра, оно представляет текущий объект, вызывающий этот метод.
Методы экземпляра могут работать с переменными-членами класса. Когда переменные-члены экземпляра появляются в методе экземпляра, общий формат следующий:
переменная this.member;
Когда статические переменные-члены появляются в методах экземпляра, общий формат следующий:
Имя класса. Переменная-член;
Например:
classA{intx;staticinty;voida(){this.x=10;Ay=20;}}
Это появляется в методе экземпляра a в классе A. Это представляет текущий объект, используя a, поэтому «this.x» представляет переменную x текущего объекта. Когда объект вызывает метод a, переменной объекта присваивается значение 10. . х. Когда объект вызывает метод, переменные-члены экземпляра в методе ссылаются на переменные-члены экземпляра, назначенные объекту, а статические переменные используются совместно с другими объектами. Поэтому в обычных обстоятельствах вы можете опустить «this» перед именем переменной-члена экземпляра и «имя класса» перед статической переменной.
Например:
classA{intx;staticinty;voida(){x=10;//Пропустить this.y=20;//Пропустить имя класса.}}
Уведомление:
Если имя переменной-члена экземпляра совпадает с именем локальной переменной, «this» или «имя класса» перед переменной-членом нельзя опустить.
Методы экземпляра класса могут вызывать другие методы класса. Общий формат вызова методов экземпляра:
этот.метод;
Общий формат вызовов методов класса:
имя класса.метод;
Например:
classB{voidb(){this.c();Bd();}voidc(){System.out.println(hi);}staticvoidd(){System.out.println(ok);}}
Это появляется в методе b в классе B и представляет текущий объект, который вызывает метод b, поэтому this.c() в теле метода метода b является текущим объектом, вызывающим метод c, то есть вызывающим метод для определенного объект В процессе b снова вызывается метод c. Поскольку эта логическая связь очень очевидна, когда один метод экземпляра вызывает другой метод, вы можете опустить «это» или «имя класса» перед именем метода.
Например:
classB{voidb(){c();//Пропустите this.d();//Пропустите имя класса.}voidc(){System.out.println(hi);}staticvoidd(){System.out.println ( хорошо);}}
Уведомление:
Это не может появиться в методах класса, поскольку методы класса могут быть вызваны непосредственно через имя класса, а объект еще не родился.