this
Ссылка на текущий объект — тот, у которого вызван метод или конструктор.
Доступно с: Java 1.0
Синтаксис
this.field; this(arguments);Примеры
Отличить поле от параметра с тем же именем:
class Point {
int x;
int y;
Point(int x, int y) {
this.x = x;
this.y = y;
}
}
void main() {
var p = new Point(3, 4);
IO.println(p.x + ", " + p.y);
}Результат:
3, 4this(...) вызывает другой конструктор того же класса:
class Account {
String owner;
double balance;
Account(String owner) {
this(owner, 0);
}
Account(String owner, double balance) {
this.owner = owner;
this.balance = balance;
}
}
void main() {
var a = new Account("Oleg");
IO.println(a.owner + ": " + a.balance);
}Результат:
Oleg: 0.0Примечания
Без this запись x = x присвоила бы параметр сам себе, и поле осталось бы нулём. Вызов this(...) должен быть первой инструкцией конструктора. В статических методах this нет.
См. также
В учебнике
- Конструкторы — Конструкторы в Java: начальные значения полей, ключевое слово this, несколько конструкторов и вызов this(...).