Вложенные классы - PullRequest
       25

Вложенные классы

1 голос
/ 02 февраля 2011

Если я вложил класс в другой, станет ли вложенный класс автоматически подклассом родительского класса?Будет ли вложенный класс иметь доступ ко всем общедоступным методам, переменным родительского класса?

Извините, язык программирования, на который я ссылаюсь в основном, - это Java!

Ответы [ 3 ]

5 голосов
/ 02 февраля 2011

Если я вложил класс в другой, станет ли вложенный класс автоматически подклассом родительского класса?

нет

Нет

Будет ли вложенный класс иметь доступ ко всем открытым методам, переменным родительского класса?

Если внутренний класс не статичен, да. Он также имеет доступ к любым другим участникам, статическим или нет, и общедоступным или нет. Если вложенный класс объявлен как статический, то включающего экземпляра нет, поэтому он будет иметь доступ только к статическим членам внешнего («родительского») класса.

2 голосов
/ 02 февраля 2011

Вложенный класс не является подклассом родительского класса. Если вложенный класс не является статическим, он может получить доступ ко всем методам и переменным родительского класса. Если вложенный класс является статическим, то он может получить доступ только к статическим полям и методам.

1 голос
/ 02 февраля 2011

На каком языке это относится?Для большинства языков внутренний класс и подкласс - это совершенно разные вещи.Внутренний класс является «членом» внешнего класса, так же как поля и методы являются членами внешнего класса.И точно так же, как любой (статический) метод внешнего класса может получить доступ ко всем (статическим) членам класса, обычно внутренние классы имеют доступ, как члены внешнего класса, ко всем другим членам внешнего класса.(Однако это определенно не верно для всех ОО-языков.)

...