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.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
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.