Skillnad mellan statisk och icke-statisk metod

Statisk vs icke statisk metod

En metod är en serie uttalanden som utförs för att utföra en specifik uppgift. Metoder kan ta ingångar och producera utgångar. Statiska och icke-statiska metoder är två typer av metoder som finns i objektorienterade programmeringsspråk. En statisk metod är en metod som är förknippad med en klass. En metod som är associerad med ett objekt kallas en icke statisk (instans) metod. I objektorienterade språk används metoder som en mekanism för att fungera på data som lagras i objekt.

Vad är en statisk metod?

I objektorienterad programmering är statisk metod en metod som är förknippad med en klass. Därför har statiska metoder inte förmåga att fungera i en viss instans av en klass. Statiska metoder kan åberopas utan att använda ett objekt av klassen som innehåller den statiska metoden. Följande är ett exempel på att definiera en statisk metod i Java. Den statiska måste användas när du definierar en statisk metod i Java.

offentlig klass MyClass statisk statisk tomgång MyStaticMethod () // kod för den statiska metoden

Den statiska metoden som definieras ovan kan kallas enligt följande med namnet på den klass som den tillhör.

MyClass.MyStaticMethod ();

En viktig sak att notera är att statiska metoder endast kan komma åt statiska medlemmar.

Vad är en icke-statisk metod?

En icke-statisk metod eller en instansmetod är en metod som är associerad med ett objekt i en klass. Därför kallas icke-statiska metoder med ett objekt av den klass där metoden definieras. En icke statisk metod kan nå icke-statiska medlemmar såväl som statiska medlemmar i en klass. På många objektorienterade språk (som C ++, C #, Java), när en icke-statisk metod kallas, överförs objektet som åberopade metoden som ett implicit argument (det kallas "den här" referensen). Så, inom metoden kan det här sökordet användas för att referera till objektet som kallade metoden. Följande är ett exempel på att definiera en instansmetod i Java.

offentlig klass MyClass offentlig tomhet MyInstanceMethod () // kod för förekomstmetoden

Instansmetoden som definierats ovan kan kallas enligt följande med ett objekt av den klass som den tillhör.

MyClass objMyClass = ny MyClass ();

objMyClass.MyInstanceMethod ();

Vad är skillnaden mellan statisk och icke-statisk metod?

Statiska metoder är metoder som är förknippade med en klass, medan icke-statiska metoder är metoder som hör samman med objekt i en klass. En klass måste initieras först för att åberopa en icke-statisk metod, men statiska metoder har inte detta krav. De kan helt enkelt åberopas med namnet på den klass som håller den statiska metoden. En annan viktig skillnad är att en icke-statisk metod brukar innehålla en hänvisning till objektet som kallat metoden och det kan nås med hjälp av detta nyckelord inuti metoden. Men det här sökordet kan inte användas i statiska metoder eftersom de inte är kopplade till ett visst objekt.