Wat is een statische methode?

Een objectgeoriënteerde computerprogrammeermethode die in een klasse wordt verklaard maar niet afhankelijk is van een bepaalde instantiatie van die klasse wordt een statische methode genoemd. De meeste programmeertalen omvatten het trefwoord statische 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 klassemethoden .

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 -klassen die niet afhankelijk zijn van instantievariabelen van een bepaalde klasse. Ze worden ook gebruikt wanneer een programmeur moetToegang tot de methode, maar het is niet nodig om de klasse te instantiëren waarin deze is opgenomen. Hulpprogramma -klassen zijn normaal gesproken niet in objecten geïnstructieerd. Het zou ongebruikelijk zijn voor een hulpprogramma -methode om objectinformatie te moeten wijzigen. Een methode van de klasse Java.lang.math, zoals POW (), zou een voorbeeld zijn van hoe dit type methode zou worden gebruikt in een hulpprogramma's.

instantiemethoden hebben rechtstreeks toegang tot instantievariabelen, statische variabelen, instantiemethoden 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 groot nadeel van statische methoden vindt plaats tijdens overerving wanneer polymorfisme wordt gebruikt. Zolang de statische methode van de ouder niet wordt verklaard, is hetzelfde kindStatische methode kan worden gecodeerd in de onderliggende klasse alsof deze wordt opgeheven. Dit wordt technisch verbergen genoemd in plaats van over te nemen omdat een statische methode niet kan worden opgeheven.

Bij het verbergen wordt gebruikt, als de statische methode van de ouder wordt toegankelijk met de klasnaam, wordt de bovenmethode 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 wordt geactiveerd.

ANDERE TALEN