Forskel mellem statisk og ikke statisk metode

Anonim

Statisk vs ikke-statisk metode

En metode er en række udsagn, der udføres for at udføre en bestemt opgave. Metoder kan tage input og producere output. Statiske og ikke-statiske metoder er to typer metoder til stede i objektorienterede programmeringssprog. En statisk metode er en metode, der er forbundet med en klasse. En metode, der er knyttet til et objekt kaldes en ikke-statisk (instans) metode. I objektorienterede sprog anvendes metoder som en mekanisme til at fungere på data, der er lagret i objekter.

Hvad er en statisk metode?

I objektorienteret programmering er statisk metode en metode, der er forbundet med en klasse. Derfor har statiske metoder ikke evnen til at fungere på et bestemt tilfælde af en klasse. Statiske metoder kan påberåbes uden at bruge et objekt af klassen, der indeholder den statiske metode. Følgende er et eksempel på at definere en statisk metode i Java. Den statiske skal bruges til at definere en statisk metode i Java.

} } Offentlig statisk tomrum MyStaticMethod () {

// kode for den statiske metode

}

}

Den ovenfor definerede statiske metode kan kaldes som følger ved hjælp af navnet på den klasse, den tilhører.

MinKlasse. MyStaticMethod ();

En vigtig ting at bemærke er, at statiske metoder kun kan få adgang til statiske medlemmer. Hvad er en ikke-statisk metode? En ikke-statisk metode eller en instansmetode er en metode, der er knyttet til et objekt i en klasse. Derfor kaldes ikke-statiske metoder ved hjælp af et objekt af den klasse, hvori metoden er defineret. En ikke-statisk metode kan få adgang til ikke-statiske medlemmer såvel som statiske medlemmer af en klasse. I mange objektorienterede sprog (f.eks. C ++, C #, Java), når en ikke-statisk metode kaldes, overføres objektet, der påberåbte metoden, som et implicit argument (det kaldes 'denne' reference). Så inden for metoden kan dette søgeord bruges til at referere til det objekt, der kaldte metoden. Følgende er et eksempel på at definere en instansmetode i Java. offentlig klasse MyClass { offentlig ugyldig MyInstanceMethod () {

// kode for instansmetoden

}

}

Den ovenfor definerede instansmetode kan være kaldes som følger ved hjælp af et objekt af den klasse, den tilhører.

MyClass objMyClass = ny MyClass ();

objMyClass. MyInstanceMethod (); Hvad er forskellen mellem statisk og ikke-statisk metode? Statiske metoder er metoder, der er forbundet med en klasse, mens ikke-statiske metoder er metoder, der er knyttet til objekter i en klasse. En klasse skal initieres først for at påberåbe sig en ikke-statisk metode, men statiske metoder har ikke dette krav.De kan simpelthen påberåbes under navnet på den klasse, der holder den statiske metode. En anden vigtig forskel er, at en ikke-statisk metode normalt har en henvisning til objektet, der kaldte metoden, og det kan fås ved hjælp af dette søgeord inde i metoden. Men dette søgeord kan ikke bruges i statiske metoder, da de ikke er tilknyttet en bestemt objekt.