2016-07-26 3 views
-1

Dans mon collège, on m'a enseigné que les membres privés ne sont pas hérités par les sous-classes &, c'est pourquoi nous ne pouvons pas y accéder à l'intérieur des sous-classes. Dans un livre, il dit que toutes les propriétés de la superclasse sont héritées, mais en raison de modificateurs d'accès stricts comme private, certains d'entre eux ne sont pas accessibles. Je suis confus. Quelle déclaration est vraie?Les membres privés ne sont pas hérités ou ne peuvent pas être accédés?

+4

voir http://stackoverflow.com/questions/4716040/do-subclasses-inherit-private- champs – Austin

Répondre

0

Ils sont hérités. Vous pouvez tester cela en créant une méthode publique qui référence les membres privés et tenter de l'appeler à partir d'une sous-classe. Il se comportera toujours "correctement:", indiquant que les membres privés sont toujours là, juste "cachés" du code de la sous-classe

+0

Par la définition de l'héritage JLS, ils sont explicitement pas hérités (voir la question que cela est marqué comme un doublon de). – yshavit