Qual é a diferença entre o nome qualificado e uma expressão de acesso de campo?
DeDetalhes da JLS sobre acesso protegido:
Seja C a classe na qual um membro protegido é declarado. O acesso é permitido somente dentro do corpo de uma subclasse S de C.
Além disso, se Id denotar um campo de instância ou um método de instância, então:
Se o acesso é feito por um nome qualificado Q.Id, onde Q é um ExpressionName, então o acesso é permitido se e somente se o tipo da expressão Q for S ou uma subclasse de S.
Se o acesso for por uma expressão de acesso de campo E.Id, em que E é uma expressão Primária, ou por uma expressão de invocação de método E.Id (...), Onde E é uma expressão Primária, então o acesso é permitido se e somente se o tipo de E é S ou uma subclasse de S.
Qual é a diferença entrenome qualificado eexpressão de acesso de campo?