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— объект родительского класса (для вызова его методов или конструктора)
Используются для управления доступом к членам класса и наследования.