Den veldig vanlige nybegynnerfeilen er når du prøver å bruke en klasseegenskap "statisk" uten å lage en forekomst av den klassen. Det gir deg den nevnte feilmeldingen:
Du kan enten gjøre den ikke-statiske metoden statisk eller lage en forekomst av den klassen for å bruke dens egenskaper.
**Hvorfor? Jeg ber ikke om løsninger. Jeg ville være takknemlig for å vite hva som er årsaken bak det. Den aller viktigste grunnen!
private java.util.List<String> someMethod(){
/* Some Code */
return someList;
}
public static void main(String[] strArgs){
// The following statement causes the error. You know why..
java.util.List<String> someList = someMethod();
}
Metoden du prøver å kalle er en metode på instansnivå; du har ikke en instans.
Statiske metoder tilhører klassen, ikke-statiske metoder tilhører instanser av klassen.
En statisk metode relaterer en handling til en type objekt, mens en ikke-statisk metode relaterer en handling til en forekomst av den typen objekt. Vanligvis er det en metode som gjør noe i forhold til forekomsten.
F.eks:
Klassen Bil kan ha en vaskemetode som angir vasking av en bestemt bil, mens en statisk metode vil gjelde for typen bil.