Olá boa tarde!
Tenho uma dúvida sobre, qual a diferença entre o package para o protected? Parecem iguais!
Fico no aguardo. Obrigado
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá boa tarde!
Tenho uma dúvida sobre, qual a diferença entre o package para o protected? Parecem iguais!
Fico no aguardo. Obrigado
Os modificadores de visibilidade no java são, private, default, protected, public, em ordem de menor para maior visibilidade, com default querendo dizer sem modificador
Exemplo: Possuo essa classe no pacote humano
package humano;
classe Pessoa{
protected nome;
protected idade;
void imprimirInfo(){
System.out.println("O nome é: " + this.userName + " e idade é" + this.idade);
}
}
Agora por algum motivo quero criar uma subclasse dessa classe em outro lugar exemplo Trabalhador no pacote empresa.
package empresa;
import humano.Pessoa;
classe Trabalhador extends Pessoa{
void anosDeServico;
void imprimirInfo(){
System.out.println("O nome é: " + this.userName + ", idade é" + this.idade+"e anos de serviço "+this.anosDeServico);
}
}
Se os atributos de Pessoa não fossem protected mas sim default, eu só poderia acessar eles a partir da classe Trabalhador se ela estivesse no mesmo pacote ,humano.
Obrigado pelos esclarecimentos.