Des membres protégés dans une super-classe inaccessibles par indirectes sous-classe en Java
Pourquoi est-ce qu'en Java, une super-classe " protégés membres sont inaccessibles par un indirectes sous-classe dans un package différent? Je sais qu'une sous-classe directe dans un autre package peut accéder à la super-classe " protégés membres. Je pensais que tout sous-classe peut accéder à ses hérité des membres protégés.
MODIFIER
Désolé novice erreur, les sous-classes peuvent accéder à un super-classes indirectes " protégés membres.
Aucun exemple de code?
Il serait plus facile de voir ce que tu veux dire, si vous pouviez donner un exemple concret.
Il signifie que, dans l'assemblée a1 il y a dans la classe. Cette classe a un membre protégé. Toutefois, il ne peut pas accéder aux membres protégés de la classe b, qui s'étend de l'assemblée a2, je pense.
Non, il signifie qu'il ne peut pas accéder aux membres protégés de la classe c dans a2 qui s'étend de la classe b qui s'étend de classe.
Qu'entendez-vous par un "indirecte sous-classe"? Voulez-vous dire à un enfant d'un enfant? Ou quoi?
Il serait plus facile de voir ce que tu veux dire, si vous pouviez donner un exemple concret.
Il signifie que, dans l'assemblée a1 il y a dans la classe. Cette classe a un membre protégé. Toutefois, il ne peut pas accéder aux membres protégés de la classe b, qui s'étend de l'assemblée a2, je pense.
Non, il signifie qu'il ne peut pas accéder aux membres protégés de la classe c dans a2 qui s'étend de la classe b qui s'étend de classe.
Qu'entendez-vous par un "indirecte sous-classe"? Voulez-vous dire à un enfant d'un enfant? Ou quoi?
OriginalL'auteur MSumulong | 2010-05-12
Vous devez vous connecter pour publier un commentaire.
Vous êtes peut-être un peu confus.
Voici ma démonstration rapide et montre indirectement une sous-classe de l'accès à un attribut protégé:
il imprime 1
Comme vous le voyez, l'attribut
a
est accessible à partir de la sous-classeC
.Si vous nous montrer le code que vous essayez nous pouvons comprendre où votre confusion.
import
déclaration, comme dans:import b.B
Qu'il serait assez difficile puisque la plupart des compilateurs va se plaindre que le extened classe n'existe pas.
OriginalL'auteur OscarRyz
Peut-être le problème, c'est qu'il essaie d'accéder au domaine réservé de l'autre instance, mais pas de son.
comme:
OriginalL'auteur YiFan Wu