Differenza tra metodo statico e non statico

Anonim

Statico vs Metodo non statico

Un metodo è una serie di istruzioni che vengono eseguite per eseguire un compito specifico. I metodi possono assumere ingressi e produrre output. Metodi statici e non statici sono due tipi di metodi presenti nei linguaggi di programmazione orientati agli oggetti. Un metodo statico è un metodo associato a una classe. Un metodo associato ad un oggetto viene definito un metodo non statico (istanza). Nei linguaggi orientati agli oggetti, i metodi vengono utilizzati come meccanismi per operare sui dati memorizzati negli oggetti.

Che cos'è un metodo statico?

Nella programmazione orientata agli oggetti, il metodo statico è un metodo associato a una classe. Pertanto, i metodi statici non hanno la capacità di operare in una particolare istanza di una classe. Possono essere invocati metodi statici senza utilizzare un oggetto della classe che contiene il metodo statico. Di seguito è riportato un esempio di definizione di un metodo statico in Java. La statica deve essere utilizzata quando si definisce un metodo statico in Java.

{ // codice del metodo statico } } public class MyClass { public void MyStaticMethod Il metodo statico definito in precedenza potrebbe essere chiamato come segue utilizzando il nome della classe a cui appartiene.

MyClass. MyStaticMethod ();

Una cosa importante da notare è che i metodi statici possono accedere solo ai membri statici.

Che cos'è un metodo non statico?

Un metodo non statico o un metodo di istanza è un metodo associato ad un oggetto in una classe. Di conseguenza, i metodi non statici vengono chiamati utilizzando un oggetto della classe in cui è definito il metodo. Un metodo non statico può accedere ai membri non statici e ai membri statici di una classe. In molti linguaggi orientati agli oggetti (quali C ++, C #, Java), quando viene chiamato un metodo non statico, l'oggetto che ha invocato il metodo viene passato come un argomento implicito (si chiama il riferimento "questo"). Quindi, all'interno del metodo questa parola chiave può essere utilizzata per fare riferimento all'oggetto che ha chiamato il metodo. Di seguito è riportato un esempio di definizione di un metodo di istanza in Java. {

// codice del metodo di istanza

} } Il metodo di istanza definito in precedenza potrebbe essere public class MyClass { public void MyInstanceMethod chiamato come segue utilizzando un oggetto della classe a cui appartiene. MyClass objMyClass = nuovo MyClass ();

objMyClass. MyInstanceMethod ();

Qual è la differenza tra il metodo statico e non statico?

Metodi statici sono metodi associati a una classe, mentre metodi non statici sono metodi associati agli oggetti di una classe. Occorre innanzitutto istanziare una classe per richiamare un metodo non statico, ma i metodi statici non hanno questo requisito.Possono essere semplicemente invocati usando il nome della classe che contiene il metodo statico. Un'altra importante differenza è che un metodo non statico possiede solitamente un riferimento all'oggetto che ha definito il metodo e può essere raggiunto utilizzando questa parola chiave all'interno del metodo. Ma questa parola chiave non può essere utilizzata in metodi statici poiché non sono associati ad un determinato oggetto.