1
resposta

Por que este código não deu erro de compilação?

A classe C, acessa o método a da classe A, que é protected. Como a classe C está no pacote default e não herda de A, por que o código compila?

Obrigado.

1 resposta

Se a classe A estiver tamém no pacote deafault esse é o comportamento esperado, pois a classe C pode acessar o método protected da classe A se ele estiver no mesmo pacote.

https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html