Sobes.tech
Back to questions
Junior — Middle
95

Объясните отличие между ключевыми словами this и super в Java и в каких ситуациях они используются?

Answer from AI

sobes.tech AI

В Java ключевое слово this ссылается на текущий объект, то есть на экземпляр класса, в котором выполняется метод. Его используют для доступа к полям и методам текущего объекта, особенно когда имена параметров и полей совпадают:

class Example {
    int value;
    Example(int value) {
        this.value = value; // this.value — поле, value — параметр
    }
}

Ключевое слово super используется для обращения к методам и конструкторам родительского (суперкласса) класса. Это полезно, когда нужно вызвать переопределённый метод суперкласса или вызвать его конструктор:

class Parent {
    void show() {
        System.out.println("Parent");
    }
}

class Child extends Parent {
    void show() {
        super.show(); // вызов метода родителя
        System.out.println("Child");
    }
}

Итого:

  • this — текущий объект
  • super — объект родительского класса (для вызова его методов или конструктора)

Используются для управления доступом к членам класса и наследования.