Скажем, у меня есть следующие классы:
class Foo {
protected void method() {}
}
class Bar extends Foo {
}
На данный момент из класса Bar у меня есть доступ к method()
двумя способами:
-
super.method();
-
this.method();
Из того, что я вижу, они, похоже, выполняют одно и то же действие. Есть ли разница между этими двумя в этом контексте? Есть ли предпочтительная версия для использования, если это так?
Использование super
имеет смысл, потому что method()
является частью суперкласса. Использование this
тоже имеет смысл, так как Bar наследует свойства класса Foo и, следовательно, method()
, верно?