Private: A única classe que tem acesso ao atributo é a própria classe que o define, ou seja, se uma classe declara um atributo privado chamado , somente a classe terá acesso a ele.
Default: Tem acesso a um atributo (identificado pela ausência de modificadores) todas as classes que estiverem no mesmo pacote que a classe que possui o atributo.
Protected: Esse é o que pega mais gente, ele é praticamente igual ao , com a diferença de que se uma classe (mesmo que esteja fora do pacote) estende da classe com o atributo , ela terá acesso a ele. Então o acesso é por pacote e por herança.
Public: Esse é fácil, todos tem acesso