Skip to main content

Wat is een statische methode?

Een objectgeoriënteerde computerprogrammeermethode die in een klasse wordt aangegeven, maar niet afhankelijk is van een bepaalde instantiatie van die klasse wordt een statische methode genoemd.De meeste programmeertalen omvatten het trefwoord Statisch in de verklaring van een methode om een methode statisch te maken.Deze methoden behoren strikt tot de klasse waarin ze zijn opgenomen en niet tot enig object dat uit die klasse is geïnstalleerd.Ze worden vaak aangeduid als klassenmethoden .

De letterlijke naam van de klasse wordt normaal gebruikt om toegang te krijgen tot een statische methode in plaats van ernaar te verwijzen met de naam van een geïnstantieerd object.Het is in Java toegestaan om objectnamen te gebruiken om naar deze methoden te verwijzen, maar het is sterk ontmoedigd.Als een objectnaam wordt gebruikt, kan een persoon die de code leest, een van deze methoden verwarren met een instantiemethode.

Statische methoden worden vaak gebruikt in hulpprogramma's die niet afhankelijk zijn van instantievariabelen van een bepaalde klasse.Ze worden ook gebruikt wanneer een programmeur toegang moet hebben tot de methode, maar het is niet nodig om de klasse te instantiëren waarin deze is opgenomen. Hulpprogramma -klassen worden normaal gesproken niet in objecten geïnstructieerd.Het zou ongebruikelijk zijn voor een hulpprogramma -methode om objectinformatie te moeten wijzigen.en statische methoden.Statische methoden hebben geen rechtstreeks toegang tot instantievariabelen en instantiemethoden.Vanwege de aard van instantiemethoden die betere toegang hebben tot klassenleden dan een statische methoden, zijn instantiemethoden het type methoden dat normaal wordt gebruikt in reguliere klassen.

Een belangrijk nadeel van statische methoden vindt plaats tijdens overerving wanneer polymorfisme wordt gebruikt.Zolang de statische methode van de ouder niet definitief wordt verklaard, kan dezelfde statische methode voor kinderen worden gecodeerd in de kinderklasse alsof deze wordt opgeheven.Dit wordt technisch verbergen genoemd in plaats van overdreven omdat een statische methode niet kan worden opgeheven.

Wanneer het verbergen wordt gebruikt, wordt de bovenliggende methode gebruikt als de statische methode van de ouder wordt gebruikt.Als de statische methode van de opgeheven onderliggende onderliggende naam wordt gebruikt met behulp van de objectnaam, wordt de opgeheven onderliggende methode gebruikt.Het probleem treedt op wanneer een onderliggende object als ouder op de hoogte wordt gebracht.In dit geval zal een aanroep naar de statische methode van de upcast -kind de bovenmethode gebruiken in plaats van de verwachte methode van het kind.Met echt polymorfisme zou de kindermethode degene zijn die na een upcast is geactiveerd.