20. september 2005 - 15:17Der er
10 kommentarer og 1 løsning
Kald interface fra static main()
Får fejlen "Non static variable this cannot be referenced from a static context" Har lige søgt igennem tidligere indlæg for at se om jeg kunne finde en løsning der og min forståelse for det er som følger. Non-static vars kan ikke tilgås fra static main. ok so far so good. Hvis man vil tilgå non-static vars fra static main må man tilgå den via. en instance af et objekt. Nu er jeg så ikke 100% om det oxo gælder når man instanciere et objekt igennem et interface ?
Her er min kode: public class Server{
public static void main(String[] args) { int threadCount = 0; try{ ServerSocket welcomstSocket = new ServerSocket(2222); System.out.println("Server socket initialized"); while(true){ Socket connection = welcomstSocket.accept(); Runnable runner = new Worker(connection); Thread newThread = new Thread(runner); newThread.start(); } }catch(Exception err){ } }
det er "Runnable runner = new Worker(connection);" som den ikke er glad ved.
Ja, men connection er jo en instance af et Socket objekt. Og det skulle der vel ikke være noget galt i (i hvert fald som jeg har forstået det). Er det ikke kun non.static vars og metoder som man ikke må referere til ?
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.