Правильное (Java) соглашение для доступа к родительским и родительским методам? - PullRequest
1 голос
/ 09 марта 2011

Каково правильное соглашение для доступа к родительским и родительским методам из цепочки наследования?

Например, methodA() находится в базовом классе предка, а methodB() - в родительском классе.Если я нахожусь в дочернем / подклассе, который расширяет родительский (который, в свою очередь, расширяет родительский / базовый класс), каков правильный способ доступа к methodA()?

Очевидно, super.super.methodA() не разрешено.

Что работает, так это super.methodA(), this.methodA() и простой вызов methodA() самостоятельно.

Какой из трех приведенных выше случаев является «правильным» способом вызова methodA(), который находится в классе предков ?

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Если methodA() определено только в классе прародителя и не переопределено в родительском или дочернем классе, то простой вызов methodA() в дочернем классе правильно вызовет унаследованный метод .

1 голос
/ 09 марта 2011

Доступ к классам дедовских методов запрещен. См. Почему это super.super.method (); не допускается в Java? Форма больше информации.

...