Skip to main content

Hva er en statisk metode?

Et objektorientert dataprogrammeringsmetode som er erklært i en klasse, men som ikke er avhengig av noen spesiell instantiering av den klassen, kalles en statisk metode.De fleste programmeringsspråk inkluderer nøkkelordet Statisk I erklæringen om en metode for å gjøre en metode statisk.Disse metodene hører strengt til klassen de er inneholdt i og ikke til noe objekt som er innstilt fra den klassen.De blir ofte referert til som Klassemetoder .

Det bokstavelige navnet på klassen brukes normalt for å få tilgang til en statisk metode i stedet for å referere til den med navnet på et instantiert objekt.Det er tillatt i Java å bruke objektnavn for å referere til disse metodene, men det er sterkt motløs.Hvis et objektnavn brukes, kan en person som leser koden forvirre en av disse metodene med en forekomstmetode.

Statiske metoder brukes ofte i bruksklasser som ikke er avhengig av forekomstvariabler fra en bestemt klasse.De brukes også når en programmerer trenger å få tilgang til metoden, men det er ikke nødvendig å instantisere klassen den er inneholdt i. Verktøyklasser blir normalt ikke instantiert til objekter.Det ville være uvanlig at en bruksmetode har behov for å endre objektinformasjon.En metode fra java.lang.math -klassen, for eksempel POW (), ville være et eksempel på hvordan denne typen metoder vil bli brukt i en verktøyklasse.

Forekomstmetoder kan direkte få tilgang til forekomstvariabler, statiske variabler, forekomstmetoder, og statiske metoder.Statiske metoder har ikke direkte tilgang til forekomstvariabler og forekomstmetoder.På grunn av arten av forekomstmetoder som har bedre tilgang til klassemedlemmer enn statiske metoder, er forekomstmetoder typen metoder som vanligvis brukes i vanlige klasser.

En viktig ulempe med statiske metoder oppstår under arv når polymorfisme brukes.Så lenge foreldres statiske metode ikke er erklært endelig, kan den samme statiske metoden kodes i barneklassen som om den ble overstyrt.Dette kalles teknisk å gjemme seg i stedet for å overstyre fordi en statisk metode ikke kan overstyres.

Når du gjemmer seg brukes, hvis overordnede statiske metode får tilgang til ved å bruke klassenavnet, vil overordnet metode bli brukt.Hvis den statiske metoden for overstyring av barn får tilgang til ved hjelp av objektnavnet, vil den overstyrte barnemetoden bli brukt.Problemet oppstår når et barneobjekt er oppstilt som foreldre.I dette tilfellet vil en oppfordring til den statiske metoden for den oppkaste barnet bruke overordnet metode i stedet for den forventede barnemetoden.Med ekte polymorfisme ville barnets metode være den som er aktivert etter en oppstilt.