Skip to main content

Hvad er en statisk metode?

En objektorienteret computerprogrammeringsmetode, der er erklæret i en klasse, men ikke er afhængig af nogen bestemt instantiering af denne klasse kaldes en statisk metode.De fleste programmeringssprog inkluderer nøgleordet statisk i erklæringen om en metode til at gøre en metode statisk.Disse metoder hører strengt til den klasse, de er indeholdt i, og ikke til noget objekt, der er instantieret fra denne klasse.De kaldes ofte klassemetoder .

Klassens bogstavelige navn bruges normalt til at få adgang til en statisk metode i stedet for at henvise til den med navnet på et instantieret objekt.Det er tilladt i Java at bruge objektnavne til at henvise til disse metoder, men det er stærkt modløs.Hvis der bruges et objektnavn, kan en person, der læser koden, forvirre en af disse metoder med en forekomstmetode.

Statiske metoder bruges ofte i brugsklasser, der ikke afhænger af forekomstvariabler fra en bestemt klasse.De bruges også, når en programmør har brug for at få adgang til metoden, men det er ikke nødvendigt at instantiere den klasse, den er indeholdt i. Hjælpeklasser er normalt ikke instantieret til objekter.Det ville være usædvanligt, at en brugsmetode har et behov for at ændre objektoplysninger.En metode fra klassen java.lang.math, såsom POW (), ville være et eksempel på, hvordan denne type metode ville blive brugt i en værktøjsklasse.og statiske metoder.Statiske metoder kan ikke direkte få adgang til forekomstvariabler og forekomstmetoder.Så længe den overordnede statiske metode ikke er erklæret endelig, kan den samme børns statiske metode kodes i børneklassen, som om den blev tilsidesat.Dette kaldes teknisk skjul i stedet for at tilsidesætte, fordi en statisk metode ikke kan tilsidesættes.

Når skjul bruges, hvis den statiske metode til forældremetode er tilgængelig ved hjælp af klassens navn, vil forældremetoden blive brugt.Hvis der er adgang til den tilsidesættede børns statiske metode ved hjælp af objektnavnet, bruges den tilsidesættede børnemetode.Problemet opstår, når et barnobjekt er UPCast som forælder.I dette tilfælde bruger et opkald til den statiske metode til Upcast Child til overordnet metode i stedet for den forventede børnemetode.Med ægte polymorfisme ville barnets metode være den, der er aktiveret efter en upcast.