Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

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, 4

this(...) вызывает другой конструктор того же класса:

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 нет.

См. также

  • super — Обращается к родительскому классу: вызывает его конструктор или его версию метода.
  • new — Создаёт новый объект или массив и вызывает конструктор.
  • static — Делает поле или метод общим для всего класса, а не для отдельного объекта.

В учебнике

  • Конструкторы — Конструкторы в Java: начальные значения полей, ключевое слово this, несколько конструкторов и вызов this(...).

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.