Alle bare starte opp med Java utvikling er sannsynlig å møte de " ikke kan lage en statisk henvisning til en ikke -Static Method " feil. Dette er et vanlig problem særlig i tilfeller der en Java -prosjekt inneholder metoden erklæringer innenfor sitt største klassen , eller kaller metoder som ikke er statisk , fra statiske metoder. Forstå årsaker og løsninger på problemet er et sentralt element i å lære hvordan du kan lage Java-prosjekter . Årsaker
p Hvis et Java program prøver å kalle en metode som ikke er statisk , fra en metode som er statisk , vil kompilatoren eller IDE (Integrated Development Environment) generere en feil. Programmerere i de tidlige stadier av læring Java utvikling er mest sannsynlig å møte denne feilen , fordi de ikke kan ennå være kjent med begrepene som er involvert i objektorientert utvikling gjennom Java-språket . En vanlig situasjon hvor feilen har en tendens til å oppstå er når et program viktigste metoden er å forsøke å ringe en annen metode definert i samme klasse , men som ikke har blitt erklært som en statisk metode .
Solutions
løsningen på problemene ringer ikke-statiske metoder fra statiske metoder virkelig trenger å bli kontaktet på en måte som passer søknaden. Bakerste metode statisk ved å legge den "statisk" nøkkelord til metoden omriss kan stoppe kompilatoren fra klager og tillate et program som skal kjøres . Imidlertid kan forekomsten av feilen indikerer at metoden kan bli bedre håndtert ved å inkludere den i en klasse erklæring , kaller det ved først å opprette et objekt av klassen .
Klasser
Når Java utviklere design programmer, deler de opp de ulike behandlingen oppgaver som kreves mellom et sett av objekter. Disse objektene hver utstillingen et veldefinert sett av egenskaper og atferd, som skissert i sin klasse erklæringer . Utviklere kan derfor utforme objekttyper å utføre programoppgaver , formalisere disse designene ved å skrive klasse erklæringer, innen hvilke variabler og metoder som er skissert .
Object Forekomster
Når en søknad prosjektet har en eller flere klasse erklæringer som inngår i den, kan koden i programmet skape objekt tilfeller. Et objekt eksempel er en dedikert kode element med variabler og metoder som er skissert i det tilsvarende klasse erklæring . For eksempel , gitt tilstedeværelsen av en klasse erklæring kalt " Helper " i et Java- prosjekt , kode i prosjektet , for eksempel inne i den viktigste metoden , kan opprette et objekt forekomst av klassen ved hjelp av følgende eksempel syntaks :
< p > Helper myHelper = new Helper ();
p Hvis , innenfor " Helper " klasse erklæring , det er en offentlig metode som kalles " doSomething , " koden kan kalle det metode på objekt eksempel som følger:
myHelper.doSomething ();
bilder statiske metoder
den vanligste situasjonen der den statiske referansen feilen oppstår er når et program prøver å kalle metoder fra den viktigste metoden for et prosjekt. Den viktigste metoden er vanligvis statisk , slik kode i det kan ikke kalle statiske metoder . Hvis en programmerer skaper en fremgangsmåte deklarasjon innenfor samme klasse som den viktigste metoden, vil feilen oppstå mindre metoden er definert som statisk . Velger å opprette objekter som utfører veldefinerte sett av søknad aktiviteter lar programmerere å mer effektivt dele opp elementene i et program som en helhet.