Возможно ли для внутренних классов наследовать расширения от внешних классов в Java?
Если, например, классы C и D каждый выиграл от того, чтобы быть подклассом B; Могут ли эти внутренние классы наследовать расширение от внешнего класса, а не расширять каждый по отдельности?
public class A extends B {
public class C {
}
public class D {
}
}
1 ответ
Будет ужасно сбивать C и D с расширения B.
Экземпляры C и D уже имеют доступ к включающему экземпляру объекта B, поэтому могут обращаться к полям и методам B.
Класс C и класс D будут иметь доступ ко всем членам класса A.
Класс C и класс D будут иметь доступ к защищенным и открытым членам класса B, если класс B находится в другом пакете.
Класс C и класс D будут иметь доступ к стандартным, защищенным и общедоступным членам класса B, если класс B находится в одном пакете.
Как бы то ни было, мы должны отметить, что и класс C, и класс D не расширяют класс A. Они оба расширяют Object