Duvidas sobre class protected

Boa tarde!

Estou com uma duvida sobre protected, estive refatorando alguns sistemas na empresa onde trabalho e percebi que os DAO estava com o class como PROTECTED porem o sistema funcionava 100% e não apresentava erro nenhum.

Alguem poderia me explicar o pq isso funciona, tendo em vista que qndo aprendi, os class somente poderiam ser public ou default.

Obrigado!

Somente inner classes podem ter o modificador protected.

Exatamente. E o modificador protected usado em inner classes tem o mesmo efeito que teria para outros membros (variáveis e métodos).

Sim isso eu sei pessoal.

Mas quero saber qndo esta assim:

protected class meuDao { /** * Construtor Padrão. * @param conexao */ public MeuDao(Connection conexao) { super(conexao); } }

Compila e não apresenta erro!
Quero saber se alguem sabe o pq isso é valido.

[quote=rodolfocop]Sim isso eu sei pessoal.

Mas quero saber qndo esta assim:

protected class meuDao { /** * Construtor Padrão. * @param conexao */ public MeuDao(Connection conexao) { super(conexao); } }

Compila e não apresenta erro!
Quero saber se alguem sabe o pq isso é valido.[/quote]

Você tá dizendo que colocou o protected modificando uma classe regular (que não é interna) e isso não causou erro de compilação?
Ou não entendeu porque o protected é um modificador válido para classes internas?