Salve galera. Estou estudando java a algum tempo, e refazendo uma analise sobre herança de atributos de uma classe em java, fiquei com a seguinte duvida:
O encapsulamento em Java é essencial para o seu correto funcionamento, portanto devemos de evitar tornar publica uma variavel em nossa classe, expondo nossos dados. Ok!
Mas o problema esta no seguinte. Se eu tiver uma classe abstrata:
public abstract class AbstractPessoa {
private int idade; // Tornar a variável privada para que se realize o encapsulamento. Não é uma boa ideia, pois assim o atributo nao sera herdado.
public String nome; // Assim, o atributo é herdado, porem ele continuará a ser publico nas suas subclasses, impedindo o encapsulamento.
protected String sexo; // Diminui o escopo da variável, porem impede parcialmente o encapsulamento.
}
Agora, minha duvida é o seguinte, como posso herdar variáveis de uma superclasse e realizar o seu encapsulamento?

