O protected é visível dentro do pacote e para os filhos. Mas se eu extends uma classe filho, que esse filho extends de uma classe mãe, o neto pode enxergar esse atributo?
O protected é visível dentro do pacote e para os filhos. Mas se eu extends uma classe filho, que esse filho extends de uma classe mãe, o neto pode enxergar esse atributo?
Ola Danilo.
Sim, ela pode. O acesso ao proctected são para a hierarquia toda.
Exemplo
class ClasseMae {
protected String coisa;
}
class ClasseFilha extends ClasseMae {
public void acaoFilha() {
super.coisa = "filha";
System.out.println(super.coisa);
}
}
class ClasseNeta extends ClasseFilha {
public void acaoNeta() {
super.coisa = "neta";
System.out.println(super.coisa);
}
}
public class PrincipalMae {
public static void main(String[] a){
ClasseFilha f = new ClasseFilha();
f.acaoFilha();
ClasseNeta n = new ClasseNeta();
n.acaoNeta();
}
}