Ссылка на текущий объект
При вызове метода экземпляра ключевое слово this
- указывает ссылку на текущий объект. Это может быть использовано для передачи самого объекта в качестве аргумента методу самого экземпляра класса;
- используется для указания квалифицированной ссылки на поля (переменные и методы) экземпляра класса.
Ключевое слово super используется для указания квалифицированной ссылки на поля (переменные и методы) суперкласса.
По умолчанию любой метод первоначально ссылается на свои собственные переменные и методы и только в случае их отсутствия выполняется поиск этих полей вверх по иерархии суперклассов. При этом, если метод не переопределяется, то его имя не обязательно квалифицировать.
Например:
class A { public int a; } class B extends A { public int a, b; public void Metod1 ( ) { b=a; // Ссылка на this.a b=super.a; } }
Имя суперкласса может быть использовано для квалифицированного доступа к статическим переменным или методам.