Cos'è un metodo statico?

Un metodo di programmazione del computer orientato agli oggetti che viene dichiarato in una classe ma non dipende da alcuna particolare istanza di quella classe è chiamato metodo statico. La maggior parte dei linguaggi di programmazione include la parola chiave statico nella dichiarazione di un metodo per rendere statico un metodo. Questi metodi appartengono rigorosamente alla classe in cui sono contenuti e non a nessun oggetto istanziato da quella classe. Sono spesso indicati come metodi di classe .

Il nome letterale della classe viene normalmente utilizzato per accedere a un metodo statico invece di riferirlo con il nome di un oggetto istanziato. In Java è consentito utilizzare i nomi degli oggetti per fare riferimento a questi metodi, ma è fortemente scoraggiato. Se viene utilizzato un nome oggetto, una persona che legge il codice può confondere uno di questi metodi con un metodo di istanza.

I metodi statici sono spesso utilizzati in classi di utilità che non dipendono dalle variabili di istanza di una particolare classe. Vengono anche usati quando un programmatore deve farloAccedi al metodo ma non è necessario istanziare la classe che è contenuta nelle classi di utilità normalmente non sono istanziate in oggetti. Sarebbe insolito che un metodo di utilità abbia la necessità di modificare le informazioni degli oggetti. Un metodo della classe java.lang.math, come Pow (), sarebbe un esempio di come questo tipo di metodo verrebbe utilizzato in una classe di utilità.

Metodi di istanza possono accedere direttamente a variabili di istanza, variabili statiche, metodi di istanza e metodi statici. I metodi statici non possono accedere direttamente alle variabili di istanza e ai metodi di istanza. A causa della natura dei metodi di istanza che hanno un migliore accesso ai membri della classe rispetto ai metodi statici, i metodi di istanza sono il tipo di metodi normalmente utilizzati nelle classi normali.

Un importante svantaggio dei metodi statici si verifica durante l'eredità quando viene utilizzato il polimorfismo. Finché il metodo statico genitore non viene dichiarato finale, lo stesso figlioIl metodo statico può essere codificato nella classe figlio come se fosse stato ignorato. Questo è tecnicamente chiamato nascondersi invece di sovrascrivere perché non può essere sovrascritto un metodo statico.

Quando viene utilizzato il nascondiglio, se si accede il metodo statico genitore utilizzando il nome della classe, verrà utilizzato il metodo genitore. Se si accede al metodo statico figlio sovrascritto utilizzando il nome dell'oggetto, verrà utilizzato il metodo figlio sovrascritto. Il problema si verifica quando un oggetto figlio viene sollevato come genitore. In questo caso, una chiamata al metodo statico per figlio Upcast utilizzerà il metodo principale anziché il metodo figlio previsto. Con il vero polimorfismo, il metodo figlio sarebbe quello attivato dopo un upcast.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?