[SCJP] Dúvida com relação ao modificador "private final"

Olá amigos, vi em um teste do livro da katty uma classe com um método com esses modificadores:

Pra mim, ao inserir o modificador final em um método, você está impedindo que ele seja sobrescrito, e a sobrescrita só ocorre na herança, certo?
Então qual seria a utilizade de um modificador “private final”?

Grato.

Olá,

Cara… por questões de acesso…

Por exemplo um método private final , como voce disse não pode ser sobreescrito E só pode ser acessado dentro do mesmo objeto.

Já um método public final, não pode ser sobreescrito mas pode ser acessado por outros objetos.

Abraços.

mas se ele já e private, não tem necessidade de ser final…
Entendeu?

Todo método privado é implicitamente final.

Sim. Concordo. Se o modificador já é private voce não vai conseguir acessa-lo de fora , quanto muito menos então sobreescreve-lo.

Apenas estou mostrando a diferença de acesso no exemplo que citei.

Abraços.

Legal!
Outro dia achei uma coisa parecida tb…

Em uma classe abstract:
Construtores protected tem a mesma visibilidade de construtores public

Abs.

Caros colegas,

Sobre a questão private final , acho que seria útil somente em casos de se evitar que uma classe interna tente extender um método da classe “outter” .

Luiz Renato

Tb não ocorre, se a classe externa “Outter” tiver um método private e a classe interna declarar um método com os mesmos parâmetros, ocorrerá uma reescrita do método.

Olhe o que eu descobri tb:

A classe interna pode somente acessar um método private dentro do seu próprio corpo, através de uma instância isso não é viável:

[code]class Externa {
private void meuMetodo() {
}

class Interna {
	Interna() {
		meuMetodo(); // <= aqui o acesso é possível
	}
}

}[/code]

O acesso descrito acima é viável, porém:

Externa.Interna interna1 = new Externa.new Interna();
interna1.meuMetodo(); // não é válido!

Abs.