Declaração de Atributos - private, protected, public

Olá pessoal, bom dia!
Tenho noção do significado de private e public, porem nao consegui entender a utilidade de protected.
Gostaria de saber em detalhes qual a finalidade e com exemplos.
Desde já agradeço pelos os esclarecimentos.

Atributos ou métodos declarados como protected são acessíveis somente nas classes filhas e nas classes de mesmo pacote da classe que possui o atributo/método protected.

Exemplo:

[code]public class A {
public A() {}

protected void doSomething() {}

}

public class B extends A {
public B() {}

public void run() {
    doSomething();
}

}[/code]

Você não conseguirá executar o método doSomething() de outra classe que não seja B e que não seja filha de A ou esteja no mesmo pacote de A.

http://www.tiexpert.net/programacao/java/public-private-protected.php

Uma dúvida.
Vamos supor que eu possuo uma Classe chamada C e que é filha da Classe B. A Classe C terá acesso ao metodo: protected void doSomething() ?

[quote=biro]Atributos ou métodos declarados como protected são acessíveis somente nas classes filhas e nas classes de mesmo pacote da classe que possui o atributo/método protected.

Exemplo:

[code]public class A {
public A() {}

protected void doSomething() {}

}

public class B extends A {
public B() {}

public void run() {
    doSomething();
}

}[/code]

Você não conseguirá executar o método doSomething() de outra classe que não seja B e que não seja filha de A ou esteja no mesmo pacote de A.[/quote]

sim

sim sim…

Se C é subclasse de B. Logo, também será subclasse de A.

=P

Desculpe a ignorancia, mas teria como mostrar na UML a classe que não terá ou teria acesso ao metodo protectec da classe A ?
No caso da Classe A todas as classes terão acesso ao metodo protected, pois todas irão erdar os atributos, metodos, correto?

[quote=biro]sim sim…

Se C é subclasse de B. Logo, também será subclasse de A.

=P[/quote]

o protected quer dizer q o metodo ou classe é publica para as classes do mesmo pacote.

Humm…
Então o protected caso o projeto não utilize pacote fica com a mesma finalidade de private?

[quote=linhorj]Humm…
Então o protected caso o projeto não utilize pacote fica com a mesma finalidade de private?

sim

Valeu pessoal pelos os esclarecimentos,

Abraços

[quote=JJjava][quote=linhorj]Humm…
Então o protected caso o projeto não utilize pacote fica com a mesma finalidade de private?

sim[/quote]