O que é um método privado em Java?
É uma função ou procedimento privado em uma classe que não pode ser acessado de nenhuma outra classe, nem mesmo de subclasses.
Por exemplo, dependendo de qual JDK você está usando, String pode ter uma função estática privada chamada upperCaseExpansion(). Isso é usado por toUpperCase(), também em String.
Mas se você tentar chamar String.upperCaseExpansion() de sua própria classe, isso é um erro de compilação. Mesmo se você subclasse String (o que você também não pode fazer, porque é uma classe final) você ainda não pode chamar String.upperCaseExpansion().
Funções privadas são uma ótima maneira de quebrar funções públicas muito longas e evitar "duplicação de código"
E também lhe dá a liberdade de mudar o funcionamento interno das classes que você escreve sem se preocupar que suas mudanças possam afetar os programadores que usam suas classes. No caso de String.upperCaseExpansion(), um autor de JDK tem a liberdade de implementar toUpperCase() sem usar String.upperCaseExpansion().
Não consigo pensar num bom exemplo de uma função de instância privada, e não estou inclinado a fazer um exemplo de brinquedo.
Os construtores também podem ser privados, permitindo-lhe restringir a forma como os objectos são instanciados. Veja java.util.{Currency, Locale} para dois exemplos.
Por sinal, Scala tem um modificador de acesso ainda mais restritivo, private[this], o que significa que instâncias da mesma classe não podem acessar os campos ou funções umas das outras que estão tão marcados. Isto é provavelmente apenas privado no que diz respeito à JVM.
Artigos semelhantes
- Como um método principal é chamado em outra classe de método principal em Java?
- Haverá algum dia um método melhor para preservar os videojogos do que a emulação? Este método poderia ser legal?
- Qual é o uso do método Thread.sleep() em Java?
- O que eu tenho que instalar, Java 10 ou Java 8? Existe alguma diferença?