Ключевые слова super и this служат разным целям в наследовании Java и объектно-ориентированном программировании:
this ссылается на текущий экземпляр классаsuper ссылается на экземпляр родительского классаthisКлючевое слово this используется для доступа к членам того же класса:
this()superКлючевое слово super используется для доступа к членам родительского класса:
super()class Parent {
void display() {
System.out.println("Parent method");
}
}
class Child extends Parent {
void display() {
super.display(); // Вызывает метод родителя
this.customMethod(); // Вызывает метод дочернего класса
}
void customMethod() {
System.out.println("Child method");
}
}
this ограничен текущим классом; super обращается к родительскому классуsuper требует наследования класса; this работает в любом классеsuper необходим, когда нужна функциональность родителя несмотря на переопределение методаsuper() должна быть первым оператором в конструкторе дочернего классаПонимание того, когда использовать каждое ключевое слово, критически важно для грамотного объектно-ориентированного проектирования и поддерживаемости кода.
Ключевое слово this можно использовать только в классах, которые наследуют другой класс, в то время как super можно использовать в любом классе.
Новый — ещё не проверен сообществом
Вы