QNA > C > Cos'è Un Metodo Privato In Java?

Cos'è un metodo privato in Java?

È una funzione o procedura privata in una classe a cui non si può accedere da nessun'altra classe, nemmeno dalle sottoclassi.

Per esempio, a seconda del JDK che stai usando, String potrebbe avere una funzione statica privata chiamata upperCaseExpansion(). Questa è usata da toUpperCase(), sempre in String.

Ma se provate a chiamare String.upperCaseExpansion() dalla vostra classe, è un errore del compilatore. Anche se sottoclassate String (cosa che non potete fare, perché è una classe finale) non potete comunque chiamare String.upperCaseExpansion().

Le funzioni private sono un ottimo modo per spezzare funzioni pubbliche troppo lunghe ed evitare la "duplicazione del codice"

E inoltre vi danno la libertà di cambiare il funzionamento interno delle classi che scrivete senza preoccuparvi che le vostre modifiche possano influenzare i programmatori che usano le vostre classi. Nel caso di String.upperCaseExpansion(), un autore JDK ha la libertà di implementare toUpperCase() senza usare String.upperCaseExpansion().

Non riesco a pensare ad un buon esempio di una funzione di istanza privata, e sono poco incline a fare un esempio giocattolo.

I costruttori possono anche essere privati, permettendovi di limitare come gli oggetti vengono istanziati. Vedere java.util.{Currency, Locale} per due esempi.

A proposito, Scala ha un modificatore di accesso ancora più restrittivo, private[this], che significa che le istanze della stessa classe non possono accedere ai campi o alle funzioni degli altri che sono così contrassegnati. Questo è probabilmente solo privato per quanto riguarda la JVM.

Di Haya

Come viene invocato automaticamente un metodo principale spiegalo in breve? :: Come chiamare il metodo Main Activity in un'altra classe in Android
Link utili