Qual é a diferença entre público, Protegido, pacote-privado e privado em Java?

Em Java, existem regras claras sobre quando usar cada um dos modificadores de acesso, nomeadamente o padrão (pacote privadas), public, protected e private, tornando - class e interface e lidar com a herança?

Classes C++ (públicas, privadas e protegidas)

Como podem ser declaradas as classes em C++ public, private, ou protected?

Declaração da classe privada [duplicado]

possível duplicado:Java: por que podemos definir uma classe de alto nível como privada? Porque não podemos decl ... ar uma classe exterior privada? Se podemos ter classe privada interna, porque não podemos ter classe privada externa?..?

Como tornar uma classe privada dentro de um espaço de nomes em C++?

Como tornar uma classe privada dentro de um espaço de nomes em C++ e impedir que outros acedam à classe fora do espaço ... MyPublicClass{ ... } // This should be accessible class MyPrivateClass{ ... } // This should NOT be accessible }