Forskjell mellom statisk og ikke statisk metode

Anonim

Statisk vs ikke-statisk metode

En metode er en rekke uttalelser som utføres for å utføre en bestemt oppgave. Metoder kan ta innganger og produsere utganger. Statiske og ikke-statiske metoder er to typer metoder tilstede i objektorienterte programmeringsspråk. En statisk metode er en metode som er knyttet til en klasse. En metode som er knyttet til et objekt kalles en ikke-statisk (forekomst) metode. I objektorienterte språk brukes metoder som en mekanisme for å operere på data som er lagret i objekter.

Hva er en statisk metode?

I objektorientert programmering er statisk metode en metode som er knyttet til en klasse. Derfor har statiske metoder ikke muligheten til å operere på en bestemt forekomst av en klasse. Statiske metoder kan påberopes uten å bruke et objekt av klassen som inneholder den statiske metoden. Følgende er et eksempel på å definere en statisk metode i Java. Den statiske må brukes når du definerer en statisk metode i Java.

} } Offentlig statisk tomrom MyStaticMethod () {

// Koden til den statiske metoden

}

}

Den statiske metode som er definert ovenfor kan kalles som følger ved å bruke navnet på den klassen den tilhører.

MyClass. MyStaticMethod ();

En viktig ting å merke seg er at statiske metoder bare kan få tilgang til statiske medlemmer. Hva er en ikke-statisk metode? En ikke-statisk metode eller en instansmetode er en metode som er knyttet til et objekt i en klasse. Derfor kalles ikke-statiske metoder ved å bruke et objekt av klassen der metoden er definert. En ikke-statisk metode kan få tilgang til ikke-statiske medlemmer, så vel som statiske medlemmer av en klasse. I mange objektorienterte språk (som C ++, C #, Java), når en ikke-statisk metode kalles, blir objektet som påkalte metoden, overført som et implisitt argument (det kalles "denne" referansen). Så, inne i metoden kan dette søkeordet brukes til å referere til objektet som kalte metoden. Følgende er et eksempel på å definere en forekomstmetode i Java. offentlig klasse MyClass { offentlig tomrom MyInstanceMethod () {

// kode for instansmetoden

}

}

Instansmetoden som er definert ovenfor, kan være kalt som følger med et objekt av klassen den tilhører.

MyClass objMyClass = ny MyClass ();

objMyClass. MyInstanceMethod (); Hva er forskjellen mellom statisk og ikke-statisk metode? Statiske metoder er metoder som er knyttet til en klasse, mens ikke-statiske metoder er metoder som er knyttet til objekter i en klasse. En klasse må være instantiated først for å påberope seg en ikke-statisk metode, men statiske metoder har ikke dette kravet.De kan bare påberopes ved å bruke navnet på klassen som holder statisk metode. En annen viktig forskjell er at en ikke-statisk metode vanligvis har en referanse til objektet som kalte metoden, og det kan nås ved hjelp av dette søkeordet inne i metoden. Men dette søkeordet kan ikke brukes i statiske metoder siden de ikke er knyttet til en bestemt gjenstand.