8.2 Modificadores de acesso

Agora que nossas classes estão organizadas em pacotes, podemos entender um pouco melhor os diferentes modificadores de acesso. Já vimos que, para uma classe ou método ser acessado de outro pacote, eles precisam ter visibilidade public. A regra é clara: uma classe pública pode ser acessada por qualquer outra classe presente no mesmo projeto. O mesmo vale para atributos, métodos e construtores.

Também já conhecemos o private. Esse modificador de acesso torna classes, atributos, métodos ou construtores visíveis apenas para a própria classe. Por esse motivo, uma classe não deve ser anotada com private, quem poderá acessá-la? Mas vimos que faz bastante sentido, para manter o encapsulamento, sempre deixar seus atributos private.

Há ainda a visibilidade default (quando não há modificador algum). A essa altura, você já pode ter percebido que neste caso apenas classes do mesmo pacote podem ter acesso aos atributos, construtores, métodos ou classes com a ausência de um modificador de acesso.

O último modificador é o protected, que tentamos evitar no capítulo de herança. Todo elemento que for protected ficará visível para a própria classe, para suas classes filhas e também para quem estiver no mesmo pacote. Classes também não podem utilizar esse modificador de acesso.

A imagem a seguir representa cada modificador de acesso e sua visibilidade:


⬅️ Capítulo Anterior | Próximo Capítulo ➡️