Statiska metoder kastar många nybörjare Java programmerare i timmar av att slåss med källkod som ger dem fel . Dessa problem kan vara ännu segare när Java-utvecklare integrera dem i sina klass -filer , och särskilt problematiskt när utvecklare använder dem i sina subklasser . Däremot kan en riktig förståelse av principerna för arv klara upp mycket av denna förvirring . Klasser
Objektorienterad programmering skulle baseras på kod strukturer som kallas " klasser . " När en programmerare skriver en klass , han skapar effektivt en mall han kan använda för att skapa flera instanser av den koden struktur , eller föremål . Till exempel kan ett spel programmerare som kodar ett spel skriver en klass som innehåller all kod för att skapa en funktionell karaktär . Istället för att skriva den här koden flera gånger för att skapa flera karaktärer , kan han helt enkelt skapa flera instanser av samma klass skrev han .
Subklasser
Java programmerare ytterligare kan specialisera klasser de skriver med underklasser . Dessa är effektivt tillägg till en förälder klass . Till exempel kan ett spel programmerare skriver en klass som innehåller de grundläggande mekanismerna för att göra karaktärerna rör sig och interagerar . Hon kan sedan skapa underklasser - som automatiskt ärver all kod i föräldrarnas klass utan att hon behöver skriva om allting - . Som innehåller specialiserad kod för att göra olika typer av tecken som allierade , fiender och bossar
Statiska och förekomstmetoder
funktioner
individ inom ett objekt kallas metoder . Det finns två typer av metoder : förekomstmetoder och statiska metoder . Varje gång en programmerare skapar en ny instans av en klass , är detta objekt en helt självständig enhet . Den har sina egna variabler vars värden skiljer sig från andra instans objekt av samma klass och dess metoder instans endast påverka sina egna variabler . Emellertid är statiska metoder inom en klass behandlas olika. Snarare än att bara ha tillgång till en särskild instans , statiska metoder åt data från varje instans av en klass . Alternativt , om den statiska metoden förklaras i en underklass , har tillgång till data från varje instans objekt av just underklass .
Statiska metoder och övergripande
När underklasser utvidga sina överordnade klasser , programmerare har möjlighet att "tvingande " metoder i den överordnade klassen med metoder från underklassen . Genom att skriva en metod med samma namn i en underklass som finns inom den överordnade klassen den sträcker sig , kallar denna metod i ditt program kommer att orsaka Java att använda metoden koden från underklassen istället för den överordnade klassen . Däremot fungerar det inte med statiska metoder . Om en programmerare försöker åsidosätta en statisk metod från en förälder i en underklass , kommer hans program genererar ett felmeddelande vid kompileringen .