08. september 2004 - 01:08Der er
9 kommentarer og 1 løsning
Cannot be referenced from a static context
Her er min kode:
import java.io.*;
public class FileHandler { public static void main(String[] args) { String filepath = "c:\\fors.txt";
File reffile = new File(filepath);
FileWriter txtfile = new FileWriter(reffile);
FileWriter.write("Hello, world!"); } }
Og her er fejlmeddelelsen:
D:\Dokumenter\Kode\Java\FileHandler.java:13: non-static method write(java.lang.String) cannot be referenced from a static context FileWriter.write("Hello, world!"); ^
Jeg har før fået den fejlmeddelelse - den giver jo ingen mening. Hvad betyder den?
public class Y { public static void main(String[] args) throws IOException { PrintWriter txtfile = new PrintWriter(new FileWriter("c:\\fors.txt")); txtfile.println("Hello, world!"); txtfile.close(); } }
Men hvad går denne fejlmeddelelse ud på? I kernen skulle den jo betyde, at man ikke kan kalde en metode, der ikke er statisk, fra en statisk kontekst. Men det betyder jo så, at man ikke kan kalde andet end statiske metoder!
Der var en, der nævnte i et andet spørgsmål, at det er fordi det er en "instance method". Og hvad er det lige, det betyder?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.