Enhver lige er startet ud med Java udvikling vil sandsynligvis støde på "Kan ikke lave en statisk Henvisning til en Non- statisk metode " fejl . Det er et fælles problem især i tilfælde, hvor en Java-projekt indeholder metode erklæringer inden for sit vigtigste klasse , eller kalder metoder, der ikke statisk, fra statiske metoder . Forståelse af årsager og løsninger på problemet er et centralt element i at lære at konstruere Java -projekter. Årsager
p Hvis et Java program forsøger at kalde en metode, der er ikke statisk , fra en metode, der er statisk , vil compileren eller IDE (Integrated Development Environment) generere en fejl . Programmører i de tidlige stadier af læring Java udvikling er mest sandsynligt at støde på denne fejl, fordi de måske endnu ikke fortrolig med de begreber , der er involveret i objektorienteret udvikling gennem Java-sproget . En almindelig situation, hvor fejlen har tendens til at opstå, er , når et program vigtigste metode forsøger at kalde en anden metode er defineret i samme klasse , men som ikke er blevet anmeldt som en statisk metode .
Solutions < br >
løsningen på problemer med at ringe non- statiske metoder fra statiske metoder virkelig skal gribes an på en måde, der passer ansøgningen. Gøre metoden statisk ved at tilføje "statisk " søgeord til metoden skitse kan stoppe compiler fra at klage og tillade et program til at køre. Dog kan forekomsten af fejlen indikerer , at metoden vil kunne håndteres bedre ved at inkludere den i en klasse erklæring , kalder det ved først at oprette et objekt af klassen.
Klasser < br >
Når Java -udviklere design applikationer , de deler op på de forskellige behandlings opgaver , der kræves mellem et sæt af objekter. Disse objekter hver udstilling et veldefineret sæt af egenskaber og adfærd, som skitseret i deres klasse erklæringer. Udviklere kan derfor designe objekttyper til at udføre programopgaver , formalisere disse mønstre ved at skrive klasse erklæringer, inden for hvilke variabler og metoder er skitseret .
Object forekomster
Når en ansøgning projekt har en eller flere klasse erklæringer i det, kan koden i programmet oprette objektet tilfælde. Et objekt instans er en dedikeret kode element med de variabler og metoder, der er beskrevet i dens tilsvarende klasse erklæring. For eksempel , tilstedeværelsen af en klasse erklæring kaldet " Hjælper" inden for et Java-projekt gives , kode i projektet for eksempel inde i de vigtigste metode , opretter, kan et objekt instans af klassen ved hjælp af følgende prøve syntaks : Hej
Helper myHelper = new Helper ();
Hvis inden for den " Helper " class erklæring , der er en offentlig metode kaldet " doSomething ", koden kan kalde denne metode på objektet eksempel som følger: < br >
myHelper.doSomething ();
fotos statiske metoder
den mest almindelige situation, hvor den statiske henvisningen fejl opstår , er, når et program forsøger at kalde metoder fra den vigtigste metode til et projekt. Den vigtigste metode er normalt statisk, så koden i den kan ikke kalde statiske metoder . Hvis en programmør skaber en metode erklæring i samme klasse som den vigtigste metode, vil fejlen opstå mindre metoden er defineret som statisk. At vælge at skabe objekter , der udfører veldefinerede sæt applikationsaktiviteterne giver programmører til at mere effektivt opdele de elementer inden for en ansøgning som en helhed.